栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java线程调度的方式是什么?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java线程调度的方式是什么?

1、协同式线程调度

多线程系统采用协作式调度,线程的执行时间由线程自身控制,线程在自己的工作完成后,主动通知系统切换到另一个线程。协作式多线程的最大好处就是实现简单,因为线程在完成自己的工作之后才会进行线程切换,切换操作对线程本身来说是可知的,所以一般不存在线程同步问题。其缺点也是显而易见的:线程执行时间无法控制,而且如果一个线程的代码写错了,并且不让系统进行线程切换,那么程序就会始终阻塞。

2、抢占式线程调度

使用抢占式调度多线程系统,每个线程的执行时间将由系统分配,线程的切换不是由进程本身决定的。比如Java中,有一个Thread::yield()方法可以主动放弃执行时间,但是如果想主动获取执行时间,线程本身是没有办法的。这样实现线程调度,线程的执行时间由系统控制,不存在一个线程导致整个进程甚至整个系统阻塞的问题。

以上就是Java线程调度的两种方式,希望能对大家有所帮助。更多Java学习指路:java教程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/14905.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号