public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* Store storage = new Store(); Thread consumer = new Thread(new Coumser(storage)); consumer.setName("消费者"); Thread producer = new Thread(new Prodcter(storage)); producer.setName("生产者");
* consumer.start(); producer.start();
*/
new Thread(new Runnable() {
public void run() {
while (true) {
int i = 0;
System.out.println(Math.random());
System.out.println(++i);
System.out.println(Thread.currentThread().getName());
}
}
}).start();
}
执行的话会生产几个线程
2个,main函数本身就是一个主线程;而你里面有new start了一个子线程,但是由于你的子线程的run方法是一个无限循环——死循环,所以并不能退出,并不建议使用这样的代码。
消费者一个,,生产者一个,,加一个匿名的线程,再加一个主线程,总共4个
大概4个线程,你这个是C语言吗,还是C++?
main线程执行完start就退出啦,刚刚start的线程还处于就绪状态,有可能与main同时运行一会,也有可能在main退出后再执行。
main线程执行完start就退出啦,刚刚start的线程还处于就绪状态,有可能与main同时运行一会,也有可能在main退出后再执行。
从你的代码来看,只有两个线程,因为你最上面的代码注释掉了,后面就new Thread了一个匿名线程,加上main线程,就两个。
2个,一个主线程,一个new出来的
两个线程 主线程 和子线程