日期:2014-05-20  浏览次数:20650 次

菜鸟请教线程问题
有一个Main主线程和两个子线程,现在想在主线程中实现两个子线程里面求的数的和,应该怎么实现,两个子线程都是可以显示的,但主线程每次计算的结果都是0.我觉得是线程间同步的问题.
class   ThreadOne   extends   Thread{
      public   void   run(){
                try{
                        .....
                                sum1=....;
                         
                        System.out.println( "sum1= "+sum1);
                      }catch   (Exception   e){}
                             
        }

}              
class   ThreadTwo   extends   Thread{
      public   void   run(){
                try{
                        sum2=...;
                        System.out.println( "Sum2= "+sum2);
                                          }catch   (Exception   e){}
                        }
}

public   class   Sum   {  
          public   static   void   main(String[]   args)   {  
                          double   sum=0;
                          ThreadOne   f=   new   ThreadOne();
                          ThreadTwo   s=new   ThreadTwo();
                          ........
                          f.start();
                          s.start();
                      try{
                                sum=sum1+sum2;//这里就是sum显示出来的总是0
                                  System.out.println( "sum= "+sum);
                              }catch   (Exception   e){}
 
                               
            }
}
希望能帮帮忙

------解决方案--------------------
一方面,你的sum1和sum2是在什么地方定义的,另外你的两个子线程什么时间结束?
------解决方案--------------------