多线程的安全性

多线程访问之所以出现不安全,不确定的根本原因是因为访问时序被打乱,导致一些操作的依赖条件变化。

例如:

var dict=new dictionary();

……

thread0

if(dict.containskey("key0"))

{

……

}

thread1

dict.remove("key0");

这样就有可能导致逻辑混乱,呈现混乱状态。多次执行的结果可能都不相同。

要做到线程安全,就是指不管以何种操作序列都不会出现混乱状态。也即不能因为多线程的访问导致某些对象处理不可用的状态(通常称为不稳定状态)

原文地址:https://www.cnblogs.com/qook/p/5368315.html