私は現在、ブーストスレッド用の小さなラッパークラスに取り組んでいますが、スリープ機能がどのように機能するかはよくわかりません。これは私がこれまでに得たものです:
BaseThread::BaseThread(){
thread = boost::thread();
bIsActive = true;
}
BaseThread::~BaseThread(){
join();
}
void BaseThread::join(){
thread.join();
}
void BaseThread::sleep(uint32 _msecs){
if(bIsActive)
boost::this_thread::sleep(boost::posix_time::milliseconds(_msecs));
}
これはこれまでの実装方法ですが、たとえばスレッドラッパーの複数のインスタンスがアクティブな場合に、静的な this_thread::sleep メソッドがどのスレッドをスリープ状態にするかを実際に理解していません。これはそれを実装する正しい方法ですか?