首页 > 编程语言 > 详细

基础线程机制--Daemon,sleep(),yield()

时间:2019-04-12 12:59:33      阅读:156      评论:0      收藏:0      [点我收藏+]

Daemon

??守护线程是程序运行时在后台提供服务的线程,不属于程序中不可或缺的部分,当所有非守护进程执行完成时,程序也就终止,同时会杀死所有的守护进程。main()属于非守护线程。可以使用setDaemon()将一个线程设置为守护线程。

public static void main(String[]args){
    Thread thread=new Thread(new MyRunnable());
    thread.setDaemon(true);
}

sleep()

??Thread.sleep(millisec)方法会休眠当前正在执行的线程,millisec的单位为毫秒

? sleep()可能会抛出InterruptedException,因为异常不能跨线程传播回main()中,因此必须在本地进行处理,线程中抛出的其他异常也需要在本地进行处理。

public void run(){
    try{
        sleep(100);
    }catch(Exception e){
        e.printStackTrace();
    }
}

yield()

??对静态方法yield()调用声明了当前线程已经完成了生命周期中最重要的部分,可以切换给其他的线程来执行。该方法只是对线程调度器的一个建议,而且也只是建议由相同优先级的其他线程可以运行。

public void run(){
    Thread.yield();
}

基础线程机制--Daemon,sleep(),yield()

原文:https://www.cnblogs.com/yjxyy/p/10695248.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!