java内の別の関数から関数をロックする必要があります。上記の例では、スレーブ機能をprint counterに呼び出します。マスタ関数が呼び出された場合、スレーブ関数を呼び出すすべてのスレッドは、マスタ関数を終了する必要があります。java内の別の関数から関数をロックする
どうすればいいですか?
int counter = 0;
private void slave()
{
System.out.println(counter);
}
private void master()
{
lockSlave();
counter ++;
unlockSlave();
}
本当にこの特定のタスクにはロックは必要ありません。 [AtomicInteger'](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html)または['LongAdder'](https:// docs .oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html) –
これはあなたが知っている単なる例です。私のリポジトリの実際のスレーブ機能には、基本カウンタではなく、複雑なアルゴリズムがたくさん含まれています。 @SashaSalauyou – neverwinter
はい私は理解しています。並行処理プログラミングに非常に役立つ別のJDKコンポーネントに注意を向けようとしました。 –