多线程下给inTimer赋值安全问题记录

什么叫重入呢?这是一个有关多线程编程的概念:程序中,多个线程同时运行时,就可能发生同一个方法被多个进程同时调用的情况。当这个方法中存在一些非线程安全的代码时,方法重入会导致数据不一致的情况。Timer方法重入是指使用多线程计时器,一个Timer处理还没有完成,到了时间,另一Timer还会继续进入该方法进行处理。上述代码为重入问题解决方案的其中一种。

 方案2:也可以使用锁来防止重入,但是使用lock(Object)的方法来防止重入,表示一个Timer处理正在执行,下一个Timer发生的时候发现上一个没有执行完就等待执行,适用重入很少出现的场景。它会等待锁释放继续执行,第一种放弃执行不同。

 

 

posted @ 2017-08-04 17:01  我叫阿良❤善良的良  阅读(152)  评论(0)    收藏  举报