OpenMW-CS: Thread Pool
Certain operations are running in separate threads. Currently these threads work without a pool. This should be changed.
Includes stalling operations if no free thread is available, running operations in multiple threads (if the operations allows it) and adding and removing threads to/from running operations (if one fat operation has acquired all threads, it must be able to release one, if the user starts a new operation).
Note that the thread pool implementation provided by Qt is unsuitable for this task.
#1 Updated by C.W. Betts over 4 years ago
One thread pooling technology is libdispatch which was developed by Apple. However, it uses a C extension called Blocks, which only Clang (to my knowledge) can compile code for. However, using libdispatch would add additional dependancies on non-OS X systems, such as the library itself and the Blocks support library. I am also unsure if there is a Windows implementation, or how good it is if there is one.