Java并发多线程编程——线程安全性问题简单总结
小志的博客 发布时间:2021-05-17 22:50:46 ,浏览量:2
一、出现线程安全性问题的条件
- 在多线程的环境下
- 必须有共享资源
- 对共享资源进行非原子性操作
二、解决线程安全性问题的途径
- synchronized(偏向锁、轻量级锁、重量级锁)
- volatile关键字
- JDK提供的原子类
- 使用Lock(共享锁,排它锁)
三、认识锁
- 死锁:参考https://wwwxz.blog.csdn.net/article/details/115757714
- 自旋锁:参考https://wwwxz.blog.csdn.net/article/details/115758380
- 重入锁:参考https://wwwxz.blog.csdn.net/article/details/115761429
- 公平锁:参考https://wwwxz.blog.csdn.net/article/details/116138117
- 非公平锁:参考https://wwwxz.blog.csdn.net/article/details/116138117
- 读写锁:参考https://wwwxz.blog.csdn.net/article/details/116175961
- 偏向锁:参考https://wwwxz.blog.csdn.net/article/details/115727171
- 轻量级锁:参考https://wwwxz.blog.csdn.net/article/details/115727171
- 重量级锁:参考https://wwwxz.blog.csdn.net/article/details/115727171