java 多线程
沉在水底的鱼
乐观开朗积极向上
展开
-
java Executors 线程池
一.Executors 类 属于 util.concurrent 下的一个java工具类,父类是Object。java.util.concurrent下面包下 Executor,ExecutorService,ScheduleExecutorService,ThreadFactory,Callable类的工厂和实用方法。1.Executors 提供 基础的五种线程池...原创 2018-11-28 13:54:36 · 224 阅读 · 0 评论 -
java多线程基础理论
一.内存模型的相关概念 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行的速度。...原创 2019-01-30 16:50:21 · 162 阅读 · 0 评论 -
ThreadLocal 线程本地变量
ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。一.ThreadLocal 方法1.get() 返回此线程局部变量的当前副本的值2.initialValue() 返回此线程局部变量的当前线程的初始值3.remove() ...原创 2019-01-30 18:03:48 · 143 阅读 · 0 评论 -
Lock 接口
Lock 接口 |- ReentrantLock |- RenntrantReadWriteLock.ReadLock |- ReentrantReadWriteLock.WriteLock lock实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。此实现允许更灵活的结构,可以具有差别很大的属性,可以支持多个相关的 Co...原创 2019-01-30 23:09:44 · 119 阅读 · 0 评论 -
线程锁之ReentrantLock
ReentrantLock 重入的互斥锁定,它具有与使用synchronized 方法和语句所访问的隐式监视锁定相同的一些基本行为和语义,但功 能更强大。ReentrantLock 将由最近成功获得锁定,并且还没有释放该锁定的线程所拥有。当锁定没有被另一个线程所拥有时,调用 lock 的线程将成功获取该锁定并返回。如果当前线程已经拥有该锁定,此方法将立即返回。可以使用 isHeldByCur...原创 2019-01-31 09:27:59 · 403 阅读 · 0 评论 -
JAVA 多线程之CAS原子 操作
java.util.concurrent.atomic 原子包,支持在单个变量上解除锁的线程安全编程AtomicBoolean 用原子方式更新boolean 值AtomicInteger 用原子方式更新 int 值AtomicIntegerArray 用原子方式更新其元素的int 数组AtomicIntegerFieldUpdater<T> 基于反射的实用工具,可以对指...原创 2019-02-11 13:57:46 · 155 阅读 · 0 评论