
Something that has an object process_pool.
Can you expand on what you mean by process pool? I've run into a use case where I'd like to launch several processes(one per core) and join all. Is that along the lines of what you were thinking? I do this now in client code but will try to get this formalized and added to the library.
Well something like the algorthmic skeleton master-slave is useful. See this: http://en.wikipedia.org/wiki/Algorithmic_skeleton. Over your process library you might implement some skeletons for use at best. I need something of higher level. I dont want to care everytime to join each process. Something like: int four( 4 ), five( 5 ); pool_process_sample sample(3,out_queue); // three processes. sample.set_function( boost::bind( add, four, five ) ) ); sample.start(); sample.join_all() Here i can use the results on the output queue. This scheme can be extended to have a map-reduce, or an input queue as you like. In this case it is difficult have syncronization errors, because it is all hidden. Probally i missed some parts. You could, if you want provide a lower level and an higher level. I will help you to test performance with my work 12 cores workstation :). Cheers, Giorgio.