请高手指教一个java问题

来源:百度知道 编辑:UC知道 时间:2024/09/20 07:37:36
请问:这一段代码与下面一段代码效果为什么不同? 这段代码没反应
producer t=new producer(q);
Thread ta=new Thread();
ta.start();
consumer p=new consumer(q);
Thread pa=new Thread();
pa.start();
而下面这段代码却能够执行.

new Thread(new producer(q)).start();
new Thread(new consumer(q)).start();
请高手指点,谢谢.

producer t=new producer(q);
Thread ta=new Thread(t);
ta.start();
consumer p=new consumer(q);
Thread pa=new Thread(p);
pa.start();

consumer producer 是两个实现Runable接口的类,
它们如果要在线程中跑,必须用new Thread(new consumer()).start();才能实现

哎 参数啊。。你要用new出来的producer(q)作为Thread()的参数啊