1.代码的结构简单描述如下:
boolean flag_01 = true;
for (int i = 0; i < 5; i++) {
new Thread(new Runnable(){},"生产者").start();
new Thread(new Runnable(){new Runnable(){//消费线程},flag_01 = false},"消费者").start();
whiel(flag_01){}
}
请问,如何控制,当消费线程执行完之后,再执行flag_01 = false; 线程中套线程,如果获得最内层的线程,使之完成之后,再执行。。
オブジェクトがコンシューマ スレッドに渡されます。このオブジェクトには属性 flag_01 が含まれています。スレッドの実行が完了すると、このオブジェクトの関数が呼び出され、flag_01 が false に設定され、このオブジェクトの flag_01 属性が常に読み取られます。外側の層で false かどうかを確認します。
あなたが書いたコードがわかりません。
複数のスレッド間で順次実行関係を持たせたい場合は、
java.util.concurrent.CountDownLatch
またはコードを完全に記述することを検討できます。それについては後で説明します。