C++11 と stl スレッドを使用して、スレッド セーフなキューを作成しています。現在、WaitAndPop メソッドは次のようになっています。呼び出し元のスレッドが停止するように求められているかどうかを示す何かを WaitAndPop に渡すことができるようにしたいと考えています。WaitAndPop は、待機してキューの要素を返した場合は true を返す必要があり、呼び出しスレッドが停止している場合は false を返す必要があります。
bool WaitAndPop(T& value, std::condition_variable callingThreadStopRequested)
{
std::unique_lock<std::mutex> lock(mutex);
while( queuedTasks.empty() )
{
queuedTasksCondition.wait(lock);
}
value = queue.front();
queue.pop_front();
return true;
}
このようなコーディングは可能ですか?私は Win32 WaitForMultipleObjects に慣れていますが、この場合に有効な代替手段が見つかりません。
ありがとう。
この関連する質問を見たことがありますが、実際には問題に答えませんでした。Linux でのスレッドの学習