返回信息流为什么我的代码输出后还是具有不确定性?
主代码如下~:
run1 x1=new run1();
run2 x2=new run2();
run3 x3=new run3();
run4 x4=new run4();
run5 x5=new run5();
run6 x6=new run6();
Thread x7=new Thread(x1);
Thread x8=new Thread(x2);
Thread x9=new Thread(x3);
Thread x10=new Thread(x4);
Thread x11=new Thread(x5);
Thread x12=new Thread(x6);
x7.setPriority(7);
x8.setPriority(9);
x9.setPriority(3);
x10.setPriority(2);
x11.setPriority(1);
x12.setPriority(6);
x7.start();
x8.start();
x9.start();
x10.start();
x11.start();
x7~x12对应的输出为HELLO!
但是输出之后什么组合都能出现 是什么原因..求指导..
这是一条镜像帖。来源:北邮人论坛 / java / #13298同步于 2010/2/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
继续求教....java多线程的优先级问题
IFIFIF
2010/2/20镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
【 在 ififif 的大作中提到: 】
: 为什么我的代码输出后还是具有不确定性?
: 主代码如下~:
: run1 x1=new run1();
: ...................
线程的优先级越高不是说它一定先执行,而是它在线程阻塞的情况下被执行的机率高,只是机率问题
补充ls的:
貌似windows上的优先级只有几个,所以官方推荐的是用Thread.MAX_PRIORITY之类的,以保证移植,简单的加减一可能会没有效果
【 在 ififif 的大作中提到: 】
: 为什么我的代码输出后还是具有不确定性?
: 主代码如下~:
: run1 x1=new run1();
: ...................