作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我写的程序如下:
import java.util.Random;
import java.util.Scanner;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
public class JustAClass{
private volatile static boolean tof=true;
private static void stop(){
tof=false;
}
private static BlockingQueue<Integer> queue = new ArrayBlockingQueue<Integer>(10);
private static void producer() throws InterruptedException{
while(tof){
Random random = new Random();
queue.put(random.nextInt(100));
System.out.println("........");
}
}
private static void consumer() throws InterruptedException{
while(tof){
Random random = new Random();
Thread.sleep(100);
if(random.nextInt(10)==0){
Integer value = queue.take();
System.out.println("Value taken: "+value+"; Queue size: "+queue.size());
}
}
}
public static void main(String[] args) throws InterruptedException{
Scanner scanner = new Scanner(System.in);
System.out.println("Press Enter to terminate");
Thread t1 = new Thread(new Runnable(){
public void run(){
try {
producer();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
Thread t2 = new Thread(new Runnable(){
public void run(){
try {
consumer();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
t1.start();
t2.start();
scanner.nextLine();
stop();
t1.join();
t2.join();
System.out.println("Terminated");
}
}
Press Enter to terminate
........
........
........
........
........
........
........
........
........
........
........
Value taken: 58; Queue size: 10
Value taken: 53; Queue size: 9
........
Value taken: 9; Queue size: 9
........
最佳答案
在这里添加行,
System.out.println(t1.getState()+" "+t2.getState()+" "+queue.size());
t1.join();
t2.join();
if(random.nextInt(10)==0){
Integer value = queue.take();
System.out.println("Value taken: "+value+"; Queue size: "+queue.size());
}
关于java - 线程已停止,但仍使用错误的 boolean 值运行(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45128809/
我是一名优秀的程序员,十分优秀!