一、概述 1、介绍 在使用线程时,需要new一个,用完了又要销毁,这样频繁的创建和销毁很耗资源,所以就提供了线程池。道理和连接池差不多,连接池是为了避免频繁的创建和释放连接,所以在连 接池中就 ...
一、概述 1、介绍 在使用线程时,需要new一个,用完了又要销毁,这样频繁的创建和销毁很耗资源,所以就提供了线程池。道理和连接池差不多,连接池是为了避免频繁的创建和释放连接,所以在连 接池中就 ...
一、volatile 1、介绍 JDK 5.0 提供了java.util.concurrent包,在此包中增加了并发编程中很常用的使用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步 ...
一、乐观锁和悲观锁 1、乐观锁 乐观锁只是一种设计思想,并不是真的有一种锁是乐观的。 思想:每次操作共享数据之前,都认为其他线程不会修改数据,所以都不获取锁,直接操作。只在最后更新的时候会判 ...
一、概述 1、介绍 强烈建议读者看这篇之前,先了解队列相关知识,以及生产者与消费者模式。 concurrent 包中,BlockingQueue 很好的解决了多线程中,如何高效安全"传输 ...
一、概述 1、介绍 JUC 中提供了三种常用的辅助类,通过这些辅助类可以很好的解决线程数量过多时 Lock 锁的频繁操作。这三种辅助类为: CountDownLatch:减少计数。减一计数器 ...
一、等待唤醒机制 1、介绍 wait():一旦执行此方法,当前线程进入阻塞状态,并释放锁。 notify():一旦执行此方法,就会唤醒一个被wait()的线程。如果有多个,就唤醒优先级高的, ...
一、原子类 1、CAS算法 强烈建议读者看这篇之前,先看这篇 初识JUC 的前两节,对原子性,原子变量,内存可见性有一个初步认识。 CAS(Compare and Swap)是一种硬件对 ...