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

[非常急]主线程与新健出来的线程读取全局变量的问题
在程序开始时会先新建出一个副线程,这个副线程要读取一个全局变量,这个变量的值会在主程中改变(主线程中为一个循环改变这个值),现在副线程读到的这个全局变量都是主线程循环结束后(最后得到的值)比如
主线程
for(int   i=0;i <999999;i++)

  a+=i       //a为全局变量
 }

副线程
proc

    while(true)
{
  write(a)     //虽然主线程循环还没有走完,但是在副线程里的a却一个没有变话
}


有没有办法取到每次变化的a?   急在线等

------解决方案--------------------
不需要线程就能解决

private int a;

public int A
{
get
{
return a;
}
set{ if (a != value)
{
a = value;
OnAChanged();
}
}
}

private void OnAChanged()
{
write(a);
}


for(int i=0;i <999999;i++)

  A+=i //A为全局变量a的读写器