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