logo头像
ICQL

jc_内存模型

并发编程的通信机制(2种)1)共享内存线程之间共享公共状态(内存),通过 写-读 内存中的公共状态来进行隐式的通信 2)消息传递线程之间没有公共状态,必须通过发送消息来进行显示的通信 指令重排序as-if-serial语义,不管...

jc_并发关键字

volatile1)作用如果一个字段被声明为 volatile1)可见性:java内存模型会确保一个线程修改 这个变量的值 会对其他线程立即可见2)有序性:禁止指令重排序3)原子性:jmm内存模型规定,变量的load和store操作本...

jc_原子操作

原子操作(atomic operation)原子操作指的是不能被中断的一个或一系列操作 CAS(Compare and Swap)CAS操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)如果内存位置的值与预期原值相匹...

jc_线程基础

进程与线程进程: 资源分配的最小单元(内存地址、 文件I/O等),一个进程就是一个正在执行的程序的实例线程: cpu执行调度的最小单元,轻量级进程,java的线程是基于操作系统原生线程模型来实现的,采用 1:1 的线程模型 线程调度 ...

jc_并发锁

Lock接口java.util.concurrent.locks.Lock 比较: synchronized 使用简单,系统自动管理同步,非公平锁;Lock接口 使用可操作性高,可超时获取锁、中断的获取锁以及自由是实现公平/非公...

jc_原子操作类

java.util.concurrent.atomic 包下面的原子操作类 13个原子操作类 基本原理使用 volatile/final 修饰实际的值,用来保证 jmm 的内存语义然后统一调用 Unsafe 类的 native...

jc_并发容器

ConcurrentHashMap(线程安全的Map)java.util.concurrent.ConcurrentHashMap 高性能、线程安全的Map 1)基本结构 和 HashMap 结构很相似,与 HashMap 比较: ...

jc_线程池

异步任务1)Runnable、Callable、Future 2)FutureTask(实现上述 3 个接口的具体类)(1)继承关系 (2)字段属性 (3)构造方法 (4)关键方法(4.1)isCancelled方法 (4.2...

jc_并发工具类

LockSupportjava.util.concurrent.locks.LockSupport底层使用的 Posix 协议的 mutex,condition 来实现的 CountDownLatchjava.util.co...