关于Java多线程技术的问题,请注意,一个是2个程序

为什么上面的程序运行的结果是随机的,而下面的程序运行的结果却是固定不变的publicclassDoubleThread{publicstaticvoidmain(Stri... 为什么上面的程序运行的结果是随机的,而下面的程序运行的结果却是固定不变的
public class DoubleThread {
public static void main(String[] args) {
Thread t1 = new Thread() {
public void run() {
for (int i =1; i <=10; i++) {
System.out.println(i);
}
}
};
Thread t2 = new Thread() {
public void run() {
for (int i =11; i <=20; i++) {
System.out.println(i);
}
}
};
t1.start();
t2.start();
}
}

public class hello extends Thread {
public hello(String name) {
this.name = name;
}

public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(name + "运行 " + i);
}
}

public static void main(String[] args) {
hello h1=new hello("A");
hello h2=new hello("B");
h1.run();
h2.run();
}

private String name;
}
展开
 我来答
姓香桃2K
2014-11-19 · 超过19用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:20.8万
展开全部
第一个你开启了多线程,有多条路劲同时执行你的程序,并且多线程线程抢占cup资源是随机的。而第二个是应为你只是调用了run()方法,他仅仅是一个方法的调用,没用开启多线程,程序还是一个主线程,程序会一条路劲一直执行下去,直到程序结束。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式