1
当我在中注释行wait(1)
时,我看不到同步输出。我可以让他们同时运行(一个接一个),而不必使用'wait(1)'吗?Boost线程同步
#include <boost/thread.hpp>
#include <iostream>
void wait(int seconds)
{
boost::this_thread::sleep(boost::posix_time::seconds(seconds));
}
boost::mutex mutex;
void thread()
{
for (int i = 0; i < 100; ++i)
{
wait(1);
mutex.lock();
std::cout << "Thread " << boost::this_thread::get_id() << ": " << i << std::endl;
mutex.unlock();
}
}
int main()
{
boost::thread t1(thread);
boost::thread t2(thread);
t1.join();
t2.join();
}
使用条件可能。 (我不熟悉boost线程。) – kennytm 2010-05-23 18:07:31
http://www.boost.org/doc/libs/1_40_0/doc/html/thread/synchronization.html#thread.synchronization.condvar_ref – Anycorn 2010-05-24 06:10:47