多线程的安全性
2016-04-08 15:30
169 查看
多线程访问之所以出现不安全,不确定的根本原因是因为访问时序被打乱,导致一些操作的依赖条件变化。
例如:
var dict=new dictionary();
……
thread0
if(dict.containskey("key0"))
{
……
}
thread1
dict.remove("key0");
这样就有可能导致逻辑混乱,呈现混乱状态。多次执行的结果可能都不相同。
要做到线程安全,就是指不管以何种操作序列都不会出现混乱状态。也即不能因为多线程的访问导致某些对象处理不可用的状态(通常称为不稳定状态)。
例如:
var dict=new dictionary();
……
thread0
if(dict.containskey("key0"))
{
……
}
thread1
dict.remove("key0");
这样就有可能导致逻辑混乱,呈现混乱状态。多次执行的结果可能都不相同。
要做到线程安全,就是指不管以何种操作序列都不会出现混乱状态。也即不能因为多线程的访问导致某些对象处理不可用的状态(通常称为不稳定状态)。
相关文章推荐
- spark 非常好的学习内容
- ASp.net
- 用阿里云助力你的游戏
- wordpress get_stylesheet_directory_uri()返回样式目录
- Servlet学习笔记(1)
- mac下查看sha1和md5值
- QT官网文档网址
- [LintCode] 字符大小写排序 Sort Letters by Case
- Windows系统下搭建MPI(并行计算)环境
- java 多态性理解
- 频繁访问sqlite数据库报错 ,线程访问数据库
- 关于斜率优化DP
- 216.3.20Java2注释,关键词与标识…
- iOS事件的分发传递
- 数据库知识-oracle
- SQL
- ORACLE12C 新特性CDB与PDB
- GN算法
- c#(一)
- SQL简单查询