多线程方面 问题一:若创建的线程要用start方法使其进入就绪状态,什么是就绪状态?是正在运行的状态吗

[复制链接]
查看11 | 回复2 | 2013-6-19 15:46:19 | 显示全部楼层 |阅读模式
应用专业人士的回答:我尽最大努力把问题解释清楚,不足之处,请赐教!首先,之所以出现线程,就是为了更好的利用CPU,让她更加“精明”的干活。通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行。然后通过此Thread类调用方法run()来完成其运行操作的,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程终止,而CPU再运行其它线程,而如果直接用Run方法,这只是调用一个方法而已,程序中依然只有主线程--这一个线程,其程序执行路径还是只有一条,这样就没有达到写线程的目的。记住:线程就是为了更好...
回复

使用道具 举报

千问 | 2013-6-19 15:46:19 | 显示全部楼层
问题一:到底什么时候调用所产生的线程是由操作系统决定的。每个操作系统都有自己独有的算法来对线程进行调度。所以即使调用了start()方法,操作系统也有可能没有立即执行线程,而是等待了优先级更高的线程执行完毕之后,再执行。所以称之为就绪状态。问题二: 直接调用Thread类或者Runnable对象的run()方法,从结果上看可能相同。但是只有在star...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行