标题:线程问题,为什么每次的运行结果不一样?
只看楼主
cy2047
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-6-17
 问题点数:0 回复次数:1 
线程问题,为什么每次的运行结果不一样?
public class ThreadTest implements Runnable {
public static int a = 0;
public void run() {
for (int k = 0; k < 5; k++) {
a = a + 1;
}
}

public static void main(String[] args) {
Runnable r = new ThreadTest();
Thread t = new Thread(r);
t.start();
System.out.println("first"+a);
}
}

first 出现的位置每次不一样,怎么 不是先运行线程,再运行first+a么??
搜索更多相关主题的帖子: 线程 结果 运行 
2006-06-23 09:53
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
线程的运行本来就是不可预测的
所以首先会执行哪一句是说不定的
如果你想先运行线程的话
加一句t.join()就可以了
这个方法会抛出InterruptedException,你要捕捉一下

可惜不是你,陪我到最后
2006-06-23 10:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-74229-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.852404 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved