spring - java异步线程执行顺序的问题
PHPz
PHPz 2017-04-18 10:02:01
0
2
418

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; 线程中套线程,如果获得最内层的线程,使之完成之后,再执行。。

PHPz
PHPz

学习是最好的投资!

全員に返信(2)
大家讲道理

オブジェクトがコンシューマ スレッドに渡されます。このオブジェクトには属性 flag_01 が含まれています。スレッドの実行が完了すると、このオブジェクトの関数が呼び出され、flag_01 が false に設定され、このオブジェクトの flag_01 属性が常に読み取られます。外側の層で false かどうかを確認します。

いいねを押す +0
Peter_Zhu

あなたが書いたコードがわかりません。
複数のスレッド間で順次実行関係を持たせたい場合は、java.util.concurrent.CountDownLatch
またはコードを完全に記述することを検討できます。それについては後で説明します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート