保证线程安全的三个方面

            1.原子性:保证同一时刻该资源只能有一个线程访问修改,其他线程阻塞等待,例如Atomic包,锁
            2.可见性:一个线程对于主内存的数据操作对于其他线程是可见的
            3.有序性:一个线程观察其他线程中指令执行顺序,由于指令重排序存在,观察结果一般杂乱无序
                原子性: 互斥访问,Atomic包,CAS算法,Synchronized,Lock

                可见性:synchronized,volatile

                顺序性:happends-before

参考:https://www.cnblogs.com/xujie09/p/11694133.html

猜你喜欢

转载自www.cnblogs.com/chx9832/p/12573816.html