标签:安全 nbsp 线程 参与 问题 结束 内容 行操作 strong
------------恢复内容开始------------
一、线程中安全问题产生的原因。
1、多个线程在操作共享数据。
2、操作共享数据的线程代码有多条。
当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算,就会导致线程安全问题的产生。
解决:
将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,
其他线程则不可以参与运算,保证同一时刻只有一条线程访问。
必须要当前线程把这些代码都执行完毕后,其他线程才可以参与运算。
采用加锁机制synchronized(){
需要被同步的代码
}.
同步有个前提:
必须多个线程使用同一个锁
但是同步也有好处和弊端:
好处:解决了线程的安全问题;
弊端:相对降低了效率,因为同步外的线程都会判断同步锁
那个哪位大哥能给我说说线程同步机制是什么回事吗?在此谢过了,给各位大佬跪了~
spring事务执行问题能不能也给我说说呀~
------------恢复内容结束------------
标签:安全 nbsp 线程 参与 问题 结束 内容 行操作 strong
原文地址:https://www.cnblogs.com/zhinizhiwo/p/13040490.html