A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Dej@vu 中级黑马   /  2013-8-5 13:09  /  2763 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1,java中线程是抢占式的
2,java中线程是分时式的
3,java中的线程是可以共享数据的
4,java中的线程可以共享代码
那个说法不对??
什么是抢占式的和分时式的??

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 淡定

查看全部评分

4 个回复

正序浏览
这是个线程调度问题,JVM是按照特定的机制为多个线程分配CPU的使用权的。其调度的模式有两种:分时调度和抢占式调度。分时调度是所有线程轮流获得CPU使用权,并平均分配每个线程占用CPU的时间;抢占式调度是根据线程的优先级别来获取CPU的使用权。JVM的线程调度模式是默认采用抢占式模式。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
分时调度模型是指让所有的线程轮流获得cpu的使用权,并且平均分配每个线程占用的CPU的时间片这个也比较好理解。  
java虚拟机采用抢占式调度模型,是指优先让可运行池中优先级高的线程占用CPU,如果可运行池中的线程优先级相同,那么就随机选择一个线程,使其占用CPU。处于运行状态的线程会一直运行,直至它不得不放弃CPU。  
一个线程会因为以下原因而放弃CPU。

1 java虚拟机让当前线程暂时放弃CPU,转到就绪状态,使其它线程或者运行机会。  
2 当前线程因为某些原因而进入阻塞状态  
3 线程结束运行  需要注意的是,线程的调度不是跨平台的,它 不仅仅取决于java虚拟机,还依赖于操作系统。在某些操作系统中,只要运行中的线程没有遇到阻塞,就不会放弃CPU;

在某些操作系统中,即使线程没有遇到阻塞,也会运行一段时间后放弃CPU,给其它线程运行的机会。  
java的线程调度是不分时的,同时启动多个线程后,不能保证各个线程轮流获得均等的CPU时间片。  

如果希望明确地让一个线程给另外一个线程运行的机会,可以采取以下办法之一。 
(1)调整各个线程的优先级  
(2)让处于运行状态的线程调用Thread.sleep()方法  
(3)让处于运行状态的线程调用Thread.yield()方法  
(4)让处于运行状态的线程调用另一个线程的join()方法

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
计算机运行是靠CPU,在同一时刻计算机只能执行一条语句,但是它是在做着快速的切换,所以看起来是同时运行的,线程也一样,每个线程只有获得了CPU的使用权才能执行,所谓多线程就是各个线程轮流获得CPU的使用权,并且分别执行各自的任务,在运行池中,会有许多处于就绪状态的线程等待CPU服务,当获得CPU执行权后JAVA虚拟机有一项任务就是负责线程调度,线程调度是按照特定的机制来为多个线程分配CPU的使用资源,这个有点象公交车调度站原理差不多。在来说分时式和抢占式,
分时式:是指在一个时间段内让所有线程轮流获得CPU的使用权,并且平均分配每个线程所占用的时间片。
抢占式:这个应该是线程的优先级的作用,优先让运行池中优先级高的线程获得CPU执行权,在优先级相同的情况下,那么就随机选择一个线程,让获得CPU的使用权,处于运行状态的线程会一直运行,直到放弃CPU执行权。还有一种情况就是线程出现问题,比如JVM让当前线程停止,处于就绪状态,把CPU资源给其它线程。线程因为某些原因处于阻塞状态。线程执行完毕。因为系统间的差异所以这种调度不是跨平台的,它不仅取决于JAVA  jVM,还依靠系统。
如果希望明确地让一个线程给另外一个线程运行的机会,可以采取以下办法之一。  调整各个线程的优先级  让处于运行状态的线程调用Thread.sleep()方法  让处于运行状态的线程调用Thread.yield()方法  让处于运行状态的线程调用另一个线程的join()方法,
希望能帮到你,如有不足还请多多指教!

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
java的线程是抢占式的,只是是CPU分为分时式和抢占式的模型。       分时式模型:所有线程轮流使用cpu的使用权,平均分配每个线程占用cpu的时间片。    抢占式:线程分优先级,优先级高的占用的cpu时间片相对多一些,而同等级的线程,会随机选择一个执行。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马