本帖最后由 qwer20000 于 2010-11-10 20:25:50 编辑

解决方案 »

  1.   

    你是怎么变动的?修改a的值的时候要使用LOCK关键字,声明a的时候最好用volatile关键字
      

  2.   


    我整个代码是包在一个Class里的。public class myClass
    {   public myClass(){...}   public int a=5;//某个会变动的量   public void Run(int b)
       {...}    public void RunMe(object o)
       {...}
    }在外边(一个窗体)声明一个myClass后,
    透过myClass.Run开个新线程让RumMe里的回圈跑起来,
    之后再指定myClass.a=一个新值。可是,新值给定后,当初已经开始跑的RunMe()线程,就收不到int a了。
    除非再让myClass.Run开个新线程,问题是,旧的已开线程都收不到了。
      

  3.   

    原来要再用method来更新int a, 不能直接给定int a阿...
    还是谢谢各位了。