Index: libs/thread/doc/faq.xml =================================================================== RCS file: /cvsroot/boost/boost/libs/thread/doc/faq.xml,v retrieving revision 1.5 diff -u -p -w -r1.5 faq.xml --- libs/thread/doc/faq.xml 13 Oct 2006 16:48:50 -0000 1.5 +++ libs/thread/doc/faq.xml 10 Feb 2007 09:00:00 -0000 @@ -210,5 +210,26 @@ private: condition variable. + + + Why doesn't the thread's ctor take at least a void* to pass any + information along with the function? All other threading libs support + that and it makes Boost.Threads inferiour. + + + There is no need, because Boost.Threads are superiour! First + thing is that its ctor doesn't take a function but a functor. That + means that you can pass an object with an overloaded operator() and + include additional data as members in that object. Beware though that + this object is copied, use boost::ref to prevent that. Secondly, even + a boost::function can carry parameters, you only have to + use boost::bind() to create it from any function and bind its + parameters. + That is also why Boost.Threads are superiour, because they + don't require you to pass a type-unsafe void pointer. Rather, you can + use the flexible Boost.Functions to create a thread entry out of + anything that can be called. + +