JAVA程序问题

[复制链接]
查看11 | 回复5 | 2009-8-23 21:44:06 | 显示全部楼层 |阅读模式
简单看了一下,这应该是生产者-消费者问题,关于你提的问题,给出我的个人想法,望指点:1.new Thread(p).start()的作用是以p为参数创建一个线程对象并使其进入就绪状态,只要CPU有资源就可以自动执行run()方法,而Thread t = new Thread()只是创建一个线程对象t,是不行的。2.是可以的,b.pick()返回的是一个WoTou对象,直接用他等于产生了一个匿名对象,直接System.out.println("消费了:"+b.pick());就可以了。关于调用方法的时候括号里面的对象问题,你只要认清被调用方法里面的参数是什么类型就行了,比如fun(String str)你调用func的时候就必须填个字符串类型...
回复

使用道具 举报

千问 | 2009-8-23 21:44:06 | 显示全部楼层
1.其中new Thread(p).start();改成Thread .t = new Thread();行吗//这是不行的,前面的线程跑的会是Producer 里的run方法后面的就只是一个线程,具体请参看Thread的构造函数2.WoTou wt = b.pick();能直接写成b.pick();吗//这是可以的,前面的WoTou wt在...
回复

使用道具 举报

千问 | 2009-8-23 21:44:06 | 显示全部楼层
public class JAVA{
public static void main(String args[]){
Basket b = new Basket();
Producer p = new Producer(b);
p = new Producer(b);
p = new Producer(b);...
回复

使用道具 举报

千问 | 2009-8-23 21:44:06 | 显示全部楼层
你需要呢仔细去看看Java的文档java里实现线程有两种方式一种是类实现Runnable接口另一种是继承Thread 其实Thread也是实现了Runnable接口 随意归根结底任何线程都必须实现Runnable (当然还有个Callable这个你可以不理会) 运行线程需要通过Thread包装一次再调用start方法就启动了线程 ...
回复

使用道具 举报

千问 | 2009-8-23 21:44:06 | 显示全部楼层
马士兵的,呵呵houzhengwisdom正解!...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行