I'm trying to construct a work queue of functions that need to be executed by one thread and can be fed by many threads. To accomplish this, I was planning on using the boost::packaged_task and boost::unique_future. The idea would be you would do: Foo value = queue.add(myFunc).get(); which would block, until the function is executed. So queue.add(...) takes in a boost::function, and returns a boos

