关于某个变量线程是否安全问题的根本回答
2013-06-26 17:42
337 查看
其实线程安全(线程同步)与并发量的高低几乎是没有关系的。即时只有两个并发修改共享变量,如果出现的非预期的结果,那么就不能算是并发安全的。
问题在于:
首先是什么情况下会出现并发安全问题
1、多个线程
2、存在共享数据
3、存在读写操作(修改:添加删除都可以认为是修改)
单线程之所以是线程安全的是因为不存在对某种资源(比如某个共享变量)的竞争。
所以,多线程安全问题就落在了如何保证存在竞争资源的安全问题,所谓的安全问题就是说在不确定次数操作后的结果是否符合编写程序的预期结果。
如果符合,则可以说是线程安全。
问题在于:
首先是什么情况下会出现并发安全问题
1、多个线程
2、存在共享数据
3、存在读写操作(修改:添加删除都可以认为是修改)
单线程之所以是线程安全的是因为不存在对某种资源(比如某个共享变量)的竞争。
所以,多线程安全问题就落在了如何保证存在竞争资源的安全问题,所谓的安全问题就是说在不确定次数操作后的结果是否符合编写程序的预期结果。
如果符合,则可以说是线程安全。
相关文章推荐
- 关于VS2008 中添加成员变量提示 此网站的某个加载项运行失败 请检查“Internet选项”中的安全设置是否存在潜在冲突 问题解决办法
- 关于VS2008 中添加成员变量提示 此网站的某个加载项运行失败 请检查“Internet选项”中的安全设置是否存在潜在冲突 问题解决办法
- java线程安全问题之静态成员变量、实例成员变量、局部变量
- 关于java中的StringBuilder的线程安全问题
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- 关于环境变量设置是否需要重启的问题
- java线程安全问题之静态变量、实例变量、局部变量
- 关于成员变量和局部变量是否都会被默认初始化的问题
- 静态变量,静态成员变量,实例成员变量,局部变量的线程安全问题
- 关于Android的View线程安全的问题
- 关于"栈"对象弱引用的线程安全问题
- Android开发设计模式之——单例模式关于线程不安全问题处理
- java线程安全问题之静态变量、实例变量、局部变量
- 关于同步线程安全问题
- 关于CoreData和SQLite多线程访问时的线程安全问题
- 关于单实例多线程的servlet的线程安全问题的探讨
- java线程安全问题之静态成员变量、实例成员变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- [转]关于ReentrantLock中线程读某个变量是否需要加锁