创建线程的三种方式

1. 继承Thread类创建线程 2. 实现Runnable接口 3. 实现callable接口

2018-06-03 16:23:39

阅读数:56

评论数:0

Copy-On-Write写时复制机制与Java中CopyOnWriteArrayList容器源码实现

Copy-on-Write机制简称COW,是一种并发设计策略。其基本思路是多线程同时共享同一个内容,当某个线程想要修改这个内容的时候,才会真正的把内容copy出去形成一个新的内容然后修改,其它的线程继续读旧的内容,直到修改完成。这是一种延时懒惰策略。 Copy-on-Write有那么几个应用场景...

2018-06-03 15:16:05

阅读数:92

评论数:0

ReentrantReadWriteLock源码解析

ReentrantReadWriteLock是ReadWriteLock的一个实现类,具有和ReentrantLock相似的语义。但注意:并不是Lock、或者ReentrantLock的子类或实现,但ReadLock和WriteLock实现了Lock接口。 ReadWriteLock源码如下: ...

2018-05-24 11:44:28

阅读数:66

评论数:0

Semaphore源码解析

Semaphore:一个计数信号量。 在概念上,信号量维持一组许可证。 如果有必要,每个acquire()都会阻塞,直到许可证可用,然后获取它。 每个release() 释放一个许可证回去,潜在地释放一个阻塞获取方。 类似与限流算法中的令牌桶算法。 但是,Semaphore并没有使用实际的许可证...

2018-05-20 22:39:08

阅读数:62

评论数:0

CountDownLatch源码解析

CountDownLatch:允许一个或多个线程等待其他线程中执行完成的同步辅助工具。 CountDownLatch使用一个给定的计数初始化。await方法阻塞,直到由于countDown()方法的调用而导致当前计数达到零,之后所有等待线程被释放,并且任何后续的await 调用立即返回。 ...

2018-05-20 21:39:22

阅读数:52

评论数:0

可重入锁ReentrantLock源码解析

ReentrantLock:一个可重入互斥Lock具有与使用synchronized方法和语句访问的隐式监视锁相同的基本行为和语义,但具有扩展功能。比如实现公平锁、超时处理、锁中断。 A ReentrantLock由最后一个成功锁定且尚未解锁的线程拥有 。当锁不是由另一个线程拥有时,调用l...

2018-05-20 21:10:47

阅读数:50

评论数:0

AQS(抽象队列同步器)

一、什么是 AQS ? AQS即AbstractQueuedSynchronizer的缩写,是并发编程中实现同步器的一个框架。 AQS基于一个FIFO双向队列实现,被设计给那些依赖一个代表状态的原子int值的同步器使用。我们都知道,既然叫同步器,那个肯定有个代表同步状态(临界资源)的...

2018-05-20 19:29:52

阅读数:71

评论数:0

java juc图谱

juc图谱: 1.collections 2.executor 3.atomic 4.locks 5.tools

2018-05-14 22:40:41

阅读数:210

评论数:0

CAS:利用处理器原子性来保证juc.atomic原子性

什么是CAS: CAS,Compare and Swap即比较并交换。juc包借助CAS实现了区别与synchronized同步锁的一种乐观锁。乐观锁就是每次去修改数据的时候都乐观的认为数据不会被修改,所以不会上锁,但是在更新的时候会判断一下此期间数据有没有更新。CAS有3个操作数:内存...

2018-05-03 21:54:26

阅读数:87

评论数:0

juc的Atomic

Java从JDK1.5开始提供java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作。 原子变量的底层使用了处理器提供的原子指令,但是不同的CPU架构可能提供的原子指令不一样,也有可能需要某种形式的内部锁,所以该方法不能绝对保证线程不被阻塞。ato...

2018-05-03 21:32:37

阅读数:70

评论数:0

栅栏Java示例——CyclicBarrier

一个Barrier的小例子,栅栏数和线程池数量可以随便调整,模拟因栅栏一直等待导致的死锁。 import java.util.Random; import java.util.concurrent.*; public class BarrierDemo { public static...

2018-04-11 19:30:27

阅读数:100

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭