多线程的安全问题
来源:互联网 发布:爱淘宝抢红包入口 编辑:程序博客网 时间:2024/05/03 22:21
多线程的安全问题:
产生的原因:
1.线程任务中有处理到共享数据。
2.线程任务中有多条对共享数据的操作。
一个线程在操作共享数据的过程中,其他线程参与了运算,造成了数据的错误。
解决的思想:
只要保证多条操作共享数据的代码在某一段时间段,被一条线程执行,在执行期间不允许其他线程参与运算。
咋保证呢?
用到了同步代码块。
synchronized(对象){
需要被同步的代码。
}
同步在目前情况下保证了一次只能有一个线程在执行。其他线程进不来。
这就是同步锁机制。
好处:解决了多线程的安全问题。
弊端:降低效率。
有可能出现这样一种情况:
多线程安全问题出现后,加入了同步机制,没有想到,安全问题依旧!咋办?
这时肯定是同步出了问题。
只要遵守了同步的前提,就可以解决。
同步的前提:
产生的原因:
1.线程任务中有处理到共享数据。
2.线程任务中有多条对共享数据的操作。
一个线程在操作共享数据的过程中,其他线程参与了运算,造成了数据的错误。
解决的思想:
只要保证多条操作共享数据的代码在某一段时间段,被一条线程执行,在执行期间不允许其他线程参与运算。
咋保证呢?
用到了同步代码块。
synchronized(对象){
需要被同步的代码。
}
同步在目前情况下保证了一次只能有一个线程在执行。其他线程进不来。
这就是同步锁机制。
好处:解决了多线程的安全问题。
弊端:降低效率。
有可能出现这样一种情况:
多线程安全问题出现后,加入了同步机制,没有想到,安全问题依旧!咋办?
这时肯定是同步出了问题。
只要遵守了同步的前提,就可以解决。
同步的前提:
多个线程在同步中必须使用同一个锁。这才是对多个线程的同步。
0 0
- 多线程(多线程的安全问题)
- 多线程的安全问题
- STL的多线程安全问题
- STL的多线程安全问题
- STL的多线程安全问题
- 多线程的运行安全问题
- mysql的多线程安全问题
- 多线程的安全问题
- 多线程的安全问题
- 多线程的安全问题
- mysql的多线程安全问题
- 多线程的安全问题
- 多线程安全问题的解决方法
- Java 多线程的安全问题
- 多线程的安全问题
- STL的多线程安全问题
- 多线程:线程的安全问题
- STL的多线程安全问题
- 英文单词积累
- 我对Java面向对象理解____0000
- vue.js 由浅至深学习宝典
- python map() ,reduce()运用
- 阿里云Ubuntu系统从0搭建LAMP(Apache+MySQL+PHP)以及服务器生产环境常用配置
- 多线程的安全问题
- 公约数公倍数
- [bzoj1969][AHOI2005]LANE 航线规划
- 单链表的C实现及演示
- QUST'S OJ problem1342 完数
- 排序算法之选择排序
- ubuntu下安装docker-compose
- MySQL常见数据类型详解
- java设计模式-观察者模式