This is an umbrella issue* to group a series of thread contention improvements and/or concurrency fixes.
There are over a thousand synchronized blocks in GeoTools master at this time. Most seem to be pretty harmless, but some can be called in tight loops under heavy concurrency.
For the ones that show up as significant contention issues during GeoServer performance testing and profiling, subtasks of this epic will be created and (hopefully) fixes provided for their incorporation to the mainstream code base.
* JIRA doesn't let me create an Epic, missing "Epic name" field.
The following environment is used to conduct the required testing, profiling, and patches: