
Hi, I hope I can bother you with some general questions: 1) I've never heard the notion of a "future" in this context -- what does it mean? 2) How is the relation of your library to the boost thread library? I only once looked into boost::thread, and I came to the conclusion, that it wouldn't be usable for me, since the main application for which I want to use threads is as follows: Given two functions bool f1(X x); bool f2(X x); I want to compute the logical or (short-circuit!). Now boost::thread did not support thread cancellation or termination in version 1_32, and it seems that development of boost::thread has been cancelled itself. To cancel a thread is essential to gain the speed-up possible by the parallel short-circuit evaluation, and thus boost::thread seems not to be usable. Now how are you proceeding? In the FAQ's of boost::thread one can read ---- 9. Why isn't thread cancellation or termination provided? There's a valid need for thread termination, so at some point probably will include it, but only after we can find a truly safe (and portable) mechanism for this concept. ---- How do you cancel threads? Can one compute the short-circuit parallel or with your "futures" ?! 3) How is access to common storage handled with you approach?! (I would appreciate a short explanation using not too much jargon --- yet I have only written one multi-threaded program (and that to explore the boost::thread library).) Oliver