java关于线程休眠的小问题 求java高手帮忙教教

publicclassThread1{publicstaticvoidmain(String[]args){computerc=newcomputer();compute... public class Thread1 {
public static void main(String[] args) {
computer c=new computer();
computer1 c1=new computer1();
c.start();
c1.start();
}
}
class computer extends Thread{
public void run() {
for (int i = 1; i < 10; i++) {
System.out.println(i);
try {
sleep(1000);
} catch (Exception e) {}
}
}
}
class computer1 extends Thread{
public void run() {
for (int i = 1; i < 10; i++) {
System.out.println("这个数是: "+i);
try {
sleep(1000);
} catch (Exception e) {}
}
}
}
我有这么一段代码 按理说 我让两个类运行的时候分别休眠1秒 输出的结果应该是交替输出 可为什么我输出的结果比较混乱...有时候能成功 有时候就不对呢???
展开
 我来答
卜忠华36
2012-11-09
知道答主
回答量:3
采纳率:0%
帮助的人:3万
展开全部
哥,你这两个线程C和C1是独立并行执行的,两者之间没有任何关系,各执行各的各输出各的,两者没有共享的导致挂起的关键资源,输出什么完全看运行的时候某个时刻C和C1哪个人品好,被调度到了,除非你用大小为1的线程池,把这两个任务放线程池里,这样C休眠的时候C1会被调度到,C1休眠则C被调度到,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式