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

C#多个线程能同时访问一个方法吗?
我程序中有多个线程,而这些线程所调用的方法都是同一个,不知道这样行不行??????如果行的话有没有办法让这些数据分别开来,就是让每个线程之间的数据互不干扰!!谢谢~~~~我新手 还望高手指点、、、、

------解决方案--------------------
1、确定你的方法有没有使用方法外部的变量,如果有,那么请锁定变量 
2、如果没有,如果全是方法内部的变量,那么线程间互不影响。

------解决方案--------------------
调用同一个方法,数据怎么就“相互干扰”了?

你所看到的方法,不过是源代码。真正运行时,每一次调用方法时其内部生存期的数据都是独立的,不存在相互“干扰”的问题。你就算是用100个线程去调用 DateTime.Now 代码,其内部的 isAmbiguousLocalDst、ticks等等变量的值也不会相互干扰啊!