多线程安全问题

Posted zhinizhiwo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程安全问题相关的知识,希望对你有一定的参考价值。

------------恢复内容开始------------

一、线程中安全问题产生的原因。

1、多个线程在操作共享数据。

2、操作共享数据的线程代码有多条。

当一个线程在执行操作共享数据的多条代码过程中,其他线程参与了运算,就会导致线程安全问题的产生。

解决:

  将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,

  其他线程则不可以参与运算,保证同一时刻只有一条线程访问。

  必须要当前线程把这些代码都执行完毕后,其他线程才可以参与运算。

  采用加锁机制synchronized(){

          需要被同步的代码

        }.

同步有个前提:

  必须多个线程使用同一个锁

 

但是同步也有好处和弊端:

  好处:解决了线程的安全问题;

  弊端:相对降低了效率,因为同步外的线程都会判断同步锁 

 

 

那个哪位大哥能给我说说线程同步机制是什么回事吗?在此谢过了,给各位大佬跪了~

spring事务执行问题能不能也给我说说呀~

 

 

------------恢复内容结束------------

以上是关于多线程安全问题的主要内容,如果未能解决你的问题,请参考以下文章

再次理解多线程线程安全问题(理解java内存模型后)

iOS 多线程之线程安全

Java+线程内部调用实例方法会多线程安全吗?

java的多线程:线程安全问题

Java多线程线程安全和非线程安全

多线程之 线程安全与非线程安全