java多线程使用cup是什么机制 java获得cup使用权采用的抢占机制,使用cup的时候是分时机制,这句话对不对?多线程使用cup和使用的操作系统有关还是java机制有关(xp是什么机制) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Java里多线程是分时机制。不同操作系统不同实现,有按照静态优先级的,也有按照动态优先级的。XP是动态优先级抢占的 多线程应该和操作系统有关,与语言无关。window是实时分时 以前的老java自己实现了线程库,也就是说java的线程并不和操作系统的线程对应,jvm在操作系统上面是一个进程,当这个进程被操作系统调度到后,jvm内部实现的线程库再调度java线程,为什么是这样呢?考虑到以前的操作系统内核,比如linux,在以前都不直接支持线程,用户线程和内核线程是多对一的关系,solaris一度也是这样,所以java当然心有余而力不足了,你操作系统都不能完美支持线程,你让我实现不是难为我吗?在那个年代,java多线程的调度完全是自主的,操作系统根本不知道java是多线程的,调度策略完全自己实现,单cpu下肯定是分时的,多cpu下就看jvm会不会建立多cpu上的多jvm实例了。 到了后来,操作系统内核纷纷都支持了多线程(windows开始就支持),那么java也要考虑推卸一些责任了,这样java线程就和操作系统线程一一对应或多多对应了,这个时候,如果是一一对应,那么线程的调度完全交给了操作系统内核,当然jvm还保留一些策略足以影响到其内部的线程调度,举个例子,在linux下,只要一个Thread.run就会调用一个fork产生一个线程。 下面回答你的问题:问:java获得cup使用权采用的抢占机制,使用cup的时候是分时机制,这句话对不对?答:部分对,早期实现,基本可以实现抢占式,但是现代实现,如果系统不支持抢占,那么jvm也无所谓抢占了。问:多线程使用cup和使用的操作系统有关还是java机制有关(xp是什么机制)答:早期是java机制实现,现在大部分是操作系统实现的,java机制仅仅保留了相关策略从而影响调度;xp是基于优先级的抢占式调度,其性能很大程度依赖于动态优先级提升 怎样在同一个JFrame里面显示不同panel的内容? 向java高手们请教:在只有一个类并且有局部变量覆盖成员变量的前提下如何在main方法中调用成员变量而不是调用局部变量?具体看以下程序 弹出窗口时程序等待,窗口关闭后程序继续怎么做? 面试题:把一万条数据放入内存中是怎么放的? 刚学,遇到问题了 请问如何获取在鼠标在屏幕上画一下得到的那个矩形? 冯3退一的程序 求大神找错!!! 如何得到两个Date对象的日期差? 怎么让控件得到焦点? 关于JLabel的移动问题。 完全数如何用编程语言实现? 一个java类的问题
window是实时分时
到了后来,操作系统内核纷纷都支持了多线程(windows开始就支持),那么java也要考虑推卸一些责任了,这样java线程就和操作系统线程一一对应或多多对应了,这个时候,如果是一一对应,那么线程的调度完全交给了操作系统内核,当然jvm还保留一些策略足以影响到其内部的线程调度,举个例子,在linux下,只要一个Thread.run就会调用一个fork产生一个线程。
下面回答你的问题:
问:java获得cup使用权采用的抢占机制,使用cup的时候是分时机制,这句话对不对?
答:部分对,早期实现,基本可以实现抢占式,但是现代实现,如果系统不支持抢占,那么jvm也无所谓抢占了。
问:多线程使用cup和使用的操作系统有关还是java机制有关(xp是什么机制)
答:早期是java机制实现,现在大部分是操作系统实现的,java机制仅仅保留了相关策略从而影响调度;xp是基于优先级的抢占式调度,其性能很大程度依赖于动态优先级提升