| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 571 人关注过本帖
标题:线程的问题
只看楼主 加入收藏
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
结帖率:93.33%
收藏
已结贴  问题点数:1 回复次数:2 
线程的问题
程序代码:
class A implements Runnable{ 
       public int i = 1; 
       public void run(){ 
        this.i = 10; 
    System.out.println(i);
       } 
  } 
public class Test{ 
  public static void main(String args[]){
      A a = new A(); 
    new Thread(a).start() ;
    
      int j = a.i; 
System.out.println(j);
 }
}
为什么j的值是1呢`  线程的执行速度到底有没有个标准   是每条语句执行的速度都是一样的么?
搜索更多相关主题的帖子: 线程 
2009-10-26 19:43
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:1 
每条语句执行的速度当然不一样了!
你得出结果是1是因为你的线程start后cpu并没有分配时间给你创建的线程,而是继续执行主线程
也就是说你的run方法还没执行, int j = a.i;这句就已经执行了

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2009-10-26 20:03
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
你多执行几次可能也会出现结果是10的情况,不过不能保证

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2009-10-26 20:04
快速回复:线程的问题
数据加载中...
 
   



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

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