openmicroscopy/openmicroscopy — pull request #1285 by joshmoore (2013-06-14 08:05:55+00:00)
Title: Provide SYSTEM priority thread executor for reload (See #11033) (rebased onto dev_4_4)

This is the same as gh-1247 but rebased onto dev_4_4.

----

Along with the other resource contention issues seen under 11033,
a number of imports performing stats calculation led to SM.reload()
blocking. Since this is called by getEventContext() all of the
joinSessions from OMERO.web were blocked, completely breaking the
client.

Now, a special `ExecutorService` is available for high-priority
threads. It will grow without bound, but threads will be cached
and reaped as necessary. A better implementation might try to
use a single thread pool, but save a few slots of system threads.