随笔分类 - JAVA并发编程
摘要:一、volatile的使用 1、防止重排序 在并发环境下实现单例模式,我们通常可以采用双重检查加锁(DCL)的方式来现实: public class Singleton { public static volatile Singleton singleton; private Singleton()
阅读全文
摘要:一、synchronized的基本使用 synchronized是Java中解决并发问题的一种最常用的方法,也就最简单的一种方法。synchronized的作用有以下三个: (1)确保线程互斥的访问同步代码 (2)保证共享变量的修改能及时可见 (3)有效解决重排序问题 从语法上将,synchroni
阅读全文
摘要:一、共享性 数据共享性是线程安全的主要原因之一。 如果所有的数据只在线程内有效,那就不存在线程安全性问题,这也是我们在编程的时候经常不需要考虑线程安全的主要情况之一。但是在多线程编程中,数据共享是不可避免的。最典型的场景就是数据库中的数据,为了保证数据的一致性,我们通常需要共享同一个数据库中的数据,
阅读全文

浙公网安备 33010602011771号