私はプロデューサー、コンシューマーとして機能する2つのスレッドを持っています。プロデューサースレッドには、次のコードがあります。
{
mediaQueue->PushEvent( boost::bind(/* params are not important */) );
return 0;
}
mediaQueueはメッセージキューであり、PushEvent()呼び出しで、処理するジョブがあることがスレッドに通知されます。コンシューマースレッドは、bindで作成されたファンクターを実行するだけです。
私にとって、コンシューマースレッドがファンクターを実行する前にプロデューサースレッドが戻ることが非常に重要です。
質問:プロデューサーがイベントをプッシュした直後で、イベントが戻る前に中断される可能性はありますか?
これまでの私の研究では、それは可能であり、ロックを実装する必要があると思いますが、これについてどう思いますか?