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이 false로 설정되며, 이 객체의 flag_01 속성이 항상 읽혀집니다. 외부 레이어에서 거짓이 아닌지 확인하세요.
당신이 작성한 코드를 이해할 수 없습니다.
여러 스레드 간의 순차적 실행 관계를 원한다면
java.util.concurrent.CountDownLatch
또는 코드를 완전히 작성할 수도 있습니다. 나중에 논의하겠습니다.