0
1つのシナリオがあります。ここでは、1つの関数(コードブロック)がn個の異なるコールバック関数によってアクセスされます。同時に、複数のコールバックが関数を呼び出す場合は、その関数にmutexを入れて、一度に1つのコールバックしかそれにアクセスできず、他のコールバックはクリティカルセクションの最初のコールバックまで待たなければなりません。 このデザインは正しいですか?代替設計はありますか?最初のコールバックが処理されている間、2番目のコールバックを待機させない方法はありますか?同じコードブロックが異なるコールバックによって同時にアクセスされる
このような関数はリエントラント関数と呼ばれ、すべてのローカル変数またはインスタンス変数を使用する場合は正常に実行されます。共有/グローバル変数を使用する関数またはその一部を同期させる必要がある –