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

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이 false로 설정되며, 이 객체의 flag_01 속성이 항상 읽혀집니다. 외부 레이어에서 거짓이 아닌지 확인하세요.

Peter_Zhu

당신이 작성한 코드를 이해할 수 없습니다.
여러 스레드 간의 순차적 실행 관계를 원한다면 java.util.concurrent.CountDownLatch
또는 코드를 완전히 작성할 수도 있습니다. 나중에 논의하겠습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿