| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 576 人关注过本帖
标题:线程问题,为什么每次的运行结果不一样?
只看楼主 加入收藏
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
快速回复:线程问题,为什么每次的运行结果不一样?
数据加载中...
 
   



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

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