线程池 发表于 2017-01-17 | 分类于 Java SE 线程池带来的好处: 降低资源消耗 通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度 当任务到达时,任务可以不需要等到线程创建就能立即执行。 提高线程的可管理性 线程是稀缺资源,使用线程池可以统一分配、调优和监控。 实现原理当提交一个新任务到线程池时,线程池的主要处理流程 判 ... 阅读全文 »
JUC集合框架(2): ConcurrentHashMap 发表于 2017-01-16 | 分类于 JUC集合框架 12public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable ConcurrentHashMap相当于线程 ... 阅读全文 »
JUC集合框架(1): 概述 发表于 2017-01-16 | 分类于 JUC集合框架 JUC包中集合类可以分为3部分:List和Set、Map以及Queue。 List和SetJUC集合包中List和Set的实现类有: CopyOnWriteArrayList CopyOnWriteArrayList相当于线程安全的ArrayList,它实现了List接口。 CopyOnWrit ... 阅读全文 »
Lock: 并发工具类-Exchanger 发表于 2017-01-15 | 分类于 Java锁 Exchanger是一个用于线程间协作的工具类,可以进行线程间的数据交换。它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过exchange(V x)方法交换数据,如果第一个线程先执行exchange(V x)方法,它会一直等待第二个线程也执行exchange(V x)方法, ... 阅读全文 »
Lock: 并发工具类-Semaphore 发表于 2017-01-15 | 分类于 Java锁 Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。 信号量维护了一个信号量许可集。线程可以通过调用acquire()来获取信号量的许可;当信号量中有可用的许可时,线程能获取该许可;否则线程必须等待,直到有可用的许可为止。 线程可以通过re ... 阅读全文 »
Lock: 并发工具类-CyclicBarrier 发表于 2017-01-15 | 分类于 Java锁 CyclicBarrier可以让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,所有被屏障拦截的线程才会继续运行。 CountDownLatch和CyclicBarrier的区别 CountDownLatch的作用是允许1或N个线程等待其他线程完成执行;而CyclicBa ... 阅读全文 »
Lock: 并发工具类-CountDownLatch 发表于 2017-01-15 | 分类于 Java锁 在JDK并发包提供了几个常用的并发工具类:CountDownLatch、CyclicBarrier、Semaphore提供了一种并发流程控制的手段,而Exchanger工具类提供了在线程间交换数据的一种手段。 CountDownLatch允许一个或多个线程等待其他线程完成操作。 CountDownL ... 阅读全文 »
Lock: Condition 发表于 2017-01-15 | 分类于 Java锁 任意一个Java对象,都拥有一组监视器方法(定义在java.lang.Object上),主要包括wait()、wait(long timeout)、notify()、notifyAll(),这些方法与synchronized关键字配合,可以实现等待/通知机制。 Condition的作用是对锁进行更精 ... 阅读全文 »
Lock: LockSupport 发表于 2017-01-15 | 分类于 Java锁 LockSupport工具类是用来创建锁Lock和其他同步类的基本线程阻塞原语。通过park()和unpark()方法来阻塞和唤醒线程。 LockSupport中的私有成员变量UNSAFE和parkBlockerOffset12private static final sun.misc.Unsafe ... 阅读全文 »
Lock: 读写锁ReentrantReadWriteLock 发表于 2017-01-15 | 分类于 Java锁 之前提到的ReentrantLock是排他锁,也就是同一时刻只允许一个线程进行访问。而读写锁在同一时刻可以允许多个读线程进行访问,但是在写线程访问时,所有的读线程和写线程均会被阻塞。 读写锁维护了一对锁,一个读锁和一个写锁,通过分离读锁和写锁,使得并发性相比一般的排他锁有了很大的提升。 读写锁保 ... 阅读全文 »