基于优先级的线程?
Prority based threads?
我正在研究线程优先级,我有 windows 10 和 Ubuntu 16.0 lts 操作系统。
而且我了解到 windows 不提供基于优先级的处理,因此我看不到基于优先级的线程程序的实际工作原理。
所以我 运行 我在 ubuntu 中的基于优先级的程序,因为有人告诉我 ubuntu 提供基于优先级的进程。
但是当我 运行 我的程序显示与 windows 相同的输出或混合输出时。
那么有什么方法可以在 ubuntu 中启用优先级,我们可以在 windows 中启用优先级但是为此我应该有真正的 windows 但我没有。
class MyThread extends Threads {
public void run() {
for(int i=0;i<20;i++)
System.out.println(Thread.currentThread().getName()+""+i);
}
}
class TestThread {
public static void main(String[] arg){
Thread.currentThread().setPriority(1);
MyThread t1=new MyThread();
t1.setPriority(10);
t1.start();
for(int i=0;i<20;i++)
system.out.println(Thread.currentThread().getName()+""+i);
}
}
在Java中,线程优先级更像是对JVM的推荐。
换句话说:每个 JVM 实现自行决定如何使用此概念。所以这不仅仅是关于 Windows 与 Linux;还有关于 Oracle JVM 与 OpenJDK 或 IBM JVM 的对比;并且可能还关于一个 JVM 的版本 A 和它的一些更新版本 B。
除此之外:请放心,这样(抱歉)天真,意思是过于简单的示例代码片段 不会 帮助您判断您的 JVM 是否支持优先级。
重点是:当系统不处于重负载状态时;并且不存在资源短缺......即使是低优先级线程也有可能以与高优先级线程相同的速率吐出 println 语句。
如果你真的对探索这些东西感到好奇;你将不得不提出一个更复杂的例子;你的线程在哪里做一些真正的工作;然后您尝试将 "load" 添加到您的系统 - 然后观察高优先级线程是否可以比低优先级线程取得更多进展!
我正在研究线程优先级,我有 windows 10 和 Ubuntu 16.0 lts 操作系统。
而且我了解到 windows 不提供基于优先级的处理,因此我看不到基于优先级的线程程序的实际工作原理。
所以我 运行 我在 ubuntu 中的基于优先级的程序,因为有人告诉我 ubuntu 提供基于优先级的进程。
但是当我 运行 我的程序显示与 windows 相同的输出或混合输出时。
那么有什么方法可以在 ubuntu 中启用优先级,我们可以在 windows 中启用优先级但是为此我应该有真正的 windows 但我没有。
class MyThread extends Threads {
public void run() {
for(int i=0;i<20;i++)
System.out.println(Thread.currentThread().getName()+""+i);
}
}
class TestThread {
public static void main(String[] arg){
Thread.currentThread().setPriority(1);
MyThread t1=new MyThread();
t1.setPriority(10);
t1.start();
for(int i=0;i<20;i++)
system.out.println(Thread.currentThread().getName()+""+i);
}
}
在Java中,线程优先级更像是对JVM的推荐。
换句话说:每个 JVM 实现自行决定如何使用此概念。所以这不仅仅是关于 Windows 与 Linux;还有关于 Oracle JVM 与 OpenJDK 或 IBM JVM 的对比;并且可能还关于一个 JVM 的版本 A 和它的一些更新版本 B。
除此之外:请放心,这样(抱歉)天真,意思是过于简单的示例代码片段 不会 帮助您判断您的 JVM 是否支持优先级。
重点是:当系统不处于重负载状态时;并且不存在资源短缺......即使是低优先级线程也有可能以与高优先级线程相同的速率吐出 println 语句。
如果你真的对探索这些东西感到好奇;你将不得不提出一个更复杂的例子;你的线程在哪里做一些真正的工作;然后您尝试将 "load" 添加到您的系统 - 然后观察高优先级线程是否可以比低优先级线程取得更多进展!