当前位置: 技术问答>java相关
Java的多线程问题---------〉〉〉〉〉〉〉〉〉〉
来源: 互联网 发布时间:2015-07-11
本文导语: 1。Java的多线程不是时间片形式的?而是抢占式的?这不就是和win3.1一样了?怎么能称得上多线程呢? 2。notifyall()和notify()有什么区别呢? | notifyall()唤醒所有处于等待状态的线程,而notify()则是唤醒...
1。Java的多线程不是时间片形式的?而是抢占式的?这不就是和win3.1一样了?怎么能称得上多线程呢?
2。notifyall()和notify()有什么区别呢?
2。notifyall()和notify()有什么区别呢?
|
notifyall()唤醒所有处于等待状态的线程,而notify()则是唤醒一个处于等待状态的线程,并且notify()并不能确定到底唤醒哪一个(只是唤醒一个),所以一般用notifyall()。
|
1.这个并不确定 要看具体的平台
2.是 notifyall()效果是要好一些
2.是 notifyall()效果是要好一些
|
每一个线程都有一个优先度(priority)。
Thread类里面定义了
static int MAX_PRIORITY
static int MIN_PRIORITY
static int NORM_PRIORITY
int getPriority()
void setPriority(int newPriority)
但是priority对scheduling的影响应不同的平台而异。
Thread类里面定义了
static int MAX_PRIORITY
static int MIN_PRIORITY
static int NORM_PRIORITY
int getPriority()
void setPriority(int newPriority)
但是priority对scheduling的影响应不同的平台而异。
|
1、这个问题与操作系统有关,具体的线程调度算法依赖于操作系统,而不是JVM
2、建议你看一下文档
2、建议你看一下文档
|
1、线程的调度算法和具体的操作系统有关,比如WINDOWS用的是时间片,和优先级无关,而Solaris则用的是线程的优先级进行线程调度。
2、建议用notifyall()。
2、建议用notifyall()。
|
1,solaris JVM's are pre-emptive
windows JVM's were pre-emptive until java 1.0.2
----------------------------------------------------
Mactinosh JVM's are time-sliced
windows JVM's are time-sliced after java 1.0.2
2,~~~
windows JVM's were pre-emptive until java 1.0.2
----------------------------------------------------
Mactinosh JVM's are time-sliced
windows JVM's are time-sliced after java 1.0.2
2,~~~
|
该说的都说了
|
我知道的都让他们说了.:(