Java-线程安全问题
来源:互联网 发布:paxos算法论文 编辑:程序博客网 时间:2024/05/16 09:04
1.什么是线程安全?
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。
线程安全问题都是由全局变量及静态变量引起的。
若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。
2.如何简单判断是否存在线程安全问题
a:是否多线程环境
b:是否有共享数据
c:是否有多条语句操作共享数据
如果上述三个条件,在程序中都有存在,那就说明存在线程安全问题
阅读全文
0 0
- Java线程安全问题
- java线程安全问题笔记
- java线程编程安全问题
- java之线程安全问题
- java线程安全问题
- 关于java线程安全问题
- Java-线程安全问题
- Java 多线程 线程安全问题
- Java-----Servlet线程安全问题
- java web app 线程安全问题
- java 集合中线程安全问题
- 关于Java OutputStream 线程安全问题
- Java中线程的安全问题
- Java赋值的线程安全问题
- java 解决simpledateformat线程安全问题
- Java学习笔记:线程安全问题
- java 关于SimpleDateFormat线程安全问题
- Java集合中的线程安全问题
- 如何重构“箭头型”代码
- YAML+jinja语法
- Numpy中的transpose
- 牛客网模拟题-贴瓷砖
- JAVA设计模式之单例模式
- Java-线程安全问题
- 百练_4040:买书问题
- Java实现抓取百度识图结果的实现和思路-2-Json的处理
- select函数
- PAT B1029. 旧键盘
- 计算机网络总结
- 一个全面详细的gulp工作流
- Ordering Tasks(拓扑排序)
- c++中map的使用方法(一)