WL#4764: Performance optimized Thread Pool

Affects: Server-9.x   —   Status: Un-Assigned   —   Priority: Medium

The current Thread Pool implementation in 6.0
lacks both performance and scalability on number
of cores. The thread pool will be redesigned
with performance and scalability in mind.

The redesign will be made towards a 5.1-tree
for inclusion in the 5.1 performance version.

The first idea is to separate a listener
thread that only listens to events and
kicks up worker threads as events arrive.

Also a more flexible approach to handling
overload situations. The pool will only
allow free allocation of threads until
around 50% of them are used. After that
it will be using a wait that increases
as load increases.

There will also be a Thread manager stub
implemented where threads can report activity
or non-activity to the central resource allocator.