首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

为什么 Thread.yield 要设计成静态的?解决思路

2012-02-05 
为什么 Thread.yield 要设计成静态的?yield可以认为是让当前线程让出CPU资源给别的线程用,那么它应该和所

为什么 Thread.yield 要设计成静态的?
yield   可以认为是让当前线程让出   CPU   资源给别的线程用,那么它应该和所属的线程有关,但却为什么要定义成静态的

[解决办法]
yield()是建议线程调度程序从当前线程中让出CPU时间给别的线程,这是一种总体调度,不是仅仅和某个线程相关的,而是和每个线程都有关。线程和人不一样,不是当前线程让了,别的线程就会来抢,是需要调度程序来调度的。
[解决办法]
yield 可以认为是让当前线程让出 CPU 资源给别的线程用,那么它应该和所属的线程有关,但却为什么要定义成静态的

///////////////////////////////////////////////////////////////////////
public static void yield()暂停当前正在执行的线程对象,并执行其他线程。
如果不定义成static,如何执行其他线程????所以要定义成类的方法,就像楼上所说,祈祷调度作用,它不能属于单个线程

[解决办法]
你调用yield()时候用什么来调用的?当然是你当前运行的程序,只要程序一运行就会产生线程,所以弄个static方法当然不错了,你不必得到当前线程就可以让出控制权,如果不是static那么你还要获取当前线程,用Thread()类接收,然后再次调用yield(),你觉得有必要吗?

这就是static的好处!方便!

热点排行