随笔分类 - 并发安全讲解
这里讲述的是并发安全讲解,知道了这些,你救护明白好多源码里面为什么这么写了。
摘要:一、volatile的内存语义 1. 简单的举例 可以把对volatile变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步;但是复合操作是不生效的; package com.youyou.ch1.demo; public class Vola { volatile int a = 1
阅读全文
摘要:一、并发编程领域的关键问题 1.线程之间的通信和同步 1.1 线程之间的通信 线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种,共享内存和消息传递。 1.1.1 共享内存 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通
阅读全文
摘要:一、多线程安全单例模式实例一(不使用同步锁) public class Singleton { private static Singleton sin=new Singleton(); ///直接初始化一个实例对象 private Singleton(){ ///private类型的构造函数,保证
阅读全文
摘要:一、情景 我们先看一下出现死锁的情景: package com.youyou.ch7; import com.youyou.tools.SleepTools; public class NormalDeadLock { private static Object valueFirst = new O
阅读全文
摘要:一、类的线程安全定义 (Doung Lee)如果多线程下使用这个类,不管多线程如何使用和调度这个类,这个类总是表示出正确的行为,这个类就是线程安全的。 类的线程安全表现为: 操作的原子性 内存的可见性 不做正确的同步,在多个线程之间共享状态的时候,就会出现线程不安全。 二、怎么才能做到类的线程安全
阅读全文

浙公网安备 33010602011771号