2 Jul
2014
2 Jul
'14
5:51 a.m.
Hello Benedek,
2014-07-01 23:24 GMT+02:00 Benedek Thaler
1. Dedicate a thread to each segment (what to do with a fixed size threadpool?) 2. Constrain the transformations to be reentrant. 3. Run each transformations until there is input to be processed, from beginning to the end.
You could use boost.fiber (std::thread-like API) to run multiple tasks (transformations) inside a single thread concurrently. At least with fibers you can use a fixed size threadpool without overloading/blocking the pool with too many tasks.