java多线程基础(3)-调度方式之暂停当前线程方式2-放弃

来源:互联网 发布:scanf在c语言中的意思 编辑:程序博客网 时间:2024/05/02 17:04

要让线程放弃资源,第二种方式是主动显示的放弃。java中可以通过代码调用Thread.yeild()静态方法来实现。它的作用是告知虚拟机如果有另外一个线程需要运行,则可以运行该线程,但是有些虚拟机会忽略这种方法。

注意:放弃资源,并不会放弃这个线程所拥有的线程锁,因此,在理想情况下,在线程放弃时不应做任何同步。

一个线程放弃时,如果等待运行的其他线程都因为这个线程拥有的同步资源而阻塞的话,那么这些等待的线程都不能运行,控制权还是回到刚才拥有资源的线程,实际上,已经失去了放弃资源的意义。

0 0
原创粉丝点击