methodA()
とmethodB()
の2つの方法がある場合、methodA()
はそれ自体と同期していないので、これらを同期する方法はありますか?つまり、多くのスレッドが同時に実行することがあります。methodA()
マルチスレッドプログラムで不要なブロックを回避するにはどうすればよいですか?
methodA()
へのコールは、methodB()
が実行されていないときにブロックする必要があります。methodB()
へのコールは、methodB()
またはmethodA()
のいずれも実行されなくなるまでブロックする必要があります。
methodAを呼び出すすべての呼び出しがreadLockのロックを解除する前の呼び出しを待つのではないでしょうか? – user2651804
readLockは並列読み取りを許可します。 – AdamSkywalker