线程安全

线程安全就是:单线程下操作是什么结果,多线程下操作就是什么结果,就是线程安全的。如果单线程下是一个结果,多线程下是另外一个结果,就是线程不安全的。

线程不安全的原因:

1.多个线程在操作共享的数据

2.操作共享数据的代码有多条。

3.多个线程对共享数据有写操作。


线程安全问题如何解决?

使用线程同步的方式。

1.同步代码块,规定一次只能有一个线程操作该代码。

2.同步方法,自动产生一个锁对象,静态方法时为当前类,实例方法为实例 对象

3.同步锁,实现lock接口,可以控制加锁和解锁,灵活度高,但是一定要保证解锁,因为如果出异常,锁无法被释放,所以这里用try...finally保证解锁。以上两种无法实现加锁解锁。

4.volatile变量

5.ThreadLocal类

6.阻塞队列

7.原子类

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容