Java中的ThreadGroup
发布时间:2020-05-24 12:26:08 所属栏目:Java 来源:互联网
导读:我目前正在学习 Java中的Threads基础知识,我正在尝试编写一个简单的Thread Group程序.虽然我得到了不同类型的输出,但我和教程网站一样写了它.下面是我的代码,我得到不同的输出. public class ThreadGroupDemo implements Runnable { @Override public void ru
|
我目前正在学习 Java中的Threads基础知识,我正在尝试编写一个简单的Thread Group程序.虽然我得到了不同类型的输出,但我和教程网站一样写了它.下面是我的代码,我得到不同的输出. public class ThreadGroupDemo implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
// get the name of the current thread.
}
public static void main(String[] args) {
ThreadGroupDemo runnable = new ThreadGroupDemo();
ThreadGroup tg1 = new ThreadGroup("Parent Group");
// Creating thread Group.
Thread t1 = new Thread(tg1,new ThreadGroupDemo(),"one");
t1.start();
t1.setPriority(Thread.MAX_PRIORITY);
Thread t2 = new Thread(tg1,"second");
t2.start();
t2.setPriority(Thread.NORM_PRIORITY);
Thread t3 = new Thread(tg1,"Three");
t3.start();
System.out.println("Thread Group name : " + tg1.getName());
tg1.list();
}
}
我正进入(状态 Thread Group name : Parent Group
Three
java.lang.ThreadGroup[name=Parent Group,maxpri=10]
second
one
Thread[one,10,Parent Group]
Thread[second,5,Parent Group]
Thread[Three,Parent Group]
输出应该像: one
two
three
Thread Group Name: Parent ThreadGroup
java.lang.ThreadGroup[name=Parent ThreadGroup,maxpri=10]
Thread[one,Parent ThreadGroup]
Thread[two,Parent ThreadGroup]
Thread[three,Parent ThreadGroup]
我无法理解为什么会这样?设置优先级可以帮助吗? 解决方法即使具有优先级,您也无法预测线程的执行顺序.您无法控制计划.这是你的OS决定.关于Java并发性的好书:Java concurrency in practice (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
