
24 Aug
2006
24 Aug
'06
7:05 a.m.
Aubrey, Jason wrote:
Hi,
Does anyone know the reason for the behavior in the following example program?
This example attempts to simulate the scenario where two threads wait on a third thread. However, I realize that the following is actually one thread waiting on a second thread twice.
Regards, Jason
My Environment: MSVC 8.0, boost v1.33.1
#include
#include void f() { }
void main() { boost::thread t(f); t.join(); t.join(); // Causes an assertion
A call to thread::join() requires the thread to be joinable. After the first call to join() the thread has finished and is not joinable anymore. If you'd like to execute f twice, create a seperate thread for each run. hth Sascha