码迷,mamicode.com
首页 > 编程语言 > 详细

java点滴之让Thread的停止执行的方法

时间:2014-05-13 00:30:15      阅读:589      评论:0      收藏:0      [点我收藏+]

标签:style   java   int   a   使用   代码   

1.Thread.yield()方法作用是:

暂停当前正在执行的线程对象,并执行其他线程。   yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相 同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。   结论:yield()从未导致线程转到等待/睡眠/阻塞状态。在大多数情况下,yield()将导致线程从运行状态转到可运行状态,但有可能没有效果 

2.Thread.sleep():

使当前线程睡眠至少多少毫秒(尽管它可能在指定的时间之前被中断)。  

3.join()方法:

保证当前线程停止执行,直到该线程所加入的线程完成为止。然而,如果它加入的线程没有存活,则当前线程不需要停止, 在线程myMainThread中调用另一个线程对象myThread的join方法,意味着,myMainThread线程必须等待myThread这个线程指向完毕后,才能往下执行,相当于   此时myThread插入进来,邀请必须全部完成才放行。

  如果使用的是join(long millis) ,则参数表示myMainThread线程的最长等待时间,这个数值过后,就不等了

4.几种特殊情况可能使线程离开运行状态:

   1、线程的run()方法完成。
   2、在对象上调用wait()方法(不是在线程上调用)。
   3、线程不能在对象上获得锁定,它正试图运行该对象的方法代码
   4、线程调度程序可以决定将当前运行状态移动到可运行状态,以便让另一个线程获得运行机会,而不需要任何理由

java点滴之让Thread的停止执行的方法,布布扣,bubuko.com

java点滴之让Thread的停止执行的方法

标签:style   java   int   a   使用   代码   

原文地址:http://blog.csdn.net/lskshz/article/details/25605517

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!