欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > JAVA基础:线程优先级和精灵线程

JAVA基础:线程优先级和精灵线程

2024/10/25 13:14:03 来源:https://blog.csdn.net/weixin_65346668/article/details/142302003  浏览:    关键词:JAVA基础:线程优先级和精灵线程

目录

前言

线程优先级

精灵线程


前言

线程存在的目的是为了提升代码的效率,以前的程序只有主线程自己执行是串行的,这样的代码效率低 ,多线程执行的代码是并行的,多个线程同时执行代码,这样的效率高,但是线程并不是越多越好,线程的执行需要获取CPU才能执行,而CPU的数量是有限的,并且java的线程还是抢占式的,这时就会出现一个问题,如果有一个线程要执行的代码是更重要的,我们需要让这个线程更早的执行,如果线程的优先级都一样就可能会导致这个线程一直抢不到CPU

线程优先级

我们可以给线程手动设置优先级,设置更高的优先级可以增加线程抢到CPU的几率

注意:并不是优先级更高就一定比优先级低的线性先抢到CPU,只是获得CPU的几率更大

thread.setPriority(9);

可以使用上面的方法设置线程优先级

通过源码可知,线程优先级的最小值是1,默认是5,最大是10

精灵线程

精灵线程也叫守护线程,是可以通过方法设置的

     Thread thread = new Thread();thread.setDaemon(true);

通过这个方法可以将一个线程设置为精灵线程

守护线程是用来守护主线程的,我们创造的所有线程都叫做用户线程,如果主线程执行完了自己的代码,而用户线程没有执行完毕,这时主线程就会卡住,等待用户线程执行完毕再结束程序

守护线程的作用就是如果主线程执行完毕,不管守护线程是否执行完毕,主线程都会结束程序

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com