日期:2014-05-18  浏览次数:20917 次

频繁运行某一操作带来的问题
C# code

private void MyMethod()
{
  //调用方法1;
  //调用方法2;
   ...
  // 调用方法n;
}


方法1,方法2这些都是独立的,里面有对变量的操作等,当频繁调用MyMethod()导致了各方法重复频繁运行,这样就可能对同一变量多次赋值,造成错误。

有没有一种机制,能在运行MyMethod()的时候将这个方法内涉及到的方法和变量进行管理,并能对其管理。也就是当调用MyMethod()的时候判断这个方法内是否还在运行,如果是停止掉上一次还在运行的。???

欢迎各位高手不吝赐教。

------解决方案--------------------
lock(cs){

}
------解决方案--------------------
如果是同步的,MyMethod中会执行完,下一次才会被执行,不存在判断是否还在进行的道理
如果是异步,那就加锁,家互斥