the important thing is not to stop questioning

导航

 

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

例如:

var dict=new dictionary();

……

thread0

if(dict.containskey("key0"))

{

……

}

thread1

dict.remove("key0");

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

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

posted on 2016-04-08 15:30  qook  阅读(139)  评论(0编辑  收藏  举报