ThreadPool examples
#include "aconnect/aconnect.hpp" #include "aconnect/thread_pool.hpp" #include "aconnect/util.hpp" #include "assert.h" boost::detail::atomic_count COUNTER (0l); void threadProc (int n) { aconnect::util::sleep (rand() * 200/ RAND_MAX ); ++COUNTER; } int main (int argc, char* args[]) { usingnamespace aconnect; ThreadPool<int> pool(threadProc, 20); constint Count = 30; for (int n=0; n < Count; ++n) pool.process(n); aconnect::util::sleep (1000); pool.wait(); assert (COUNTER == Count); }
Additional using samples see in ThreadPool UT.