
线程池的执行任务有两种方法,一种是 submit、一种是 execute; execute 和 submit 区别 execute 只可以接收一...
在 Java 中,如果每个请求到达就创建一个新线程,创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资...
在 Java8 中,提供了 7 个阻塞队列 ArrayBlockingQueue 数组实现的有界阻塞队列, 此队列按照先进先出(FIFO)的原则...
本文分析的 ConcurrentHashMap 是基于 jdk1.8 的版本 JDK1.7 和 Jdk1.8 版本的变化ConcurrentHa...
JUC 中提供了几个比较常用的并发工具类,比如 CountDownLatch、CyclicBarrier、Semaphore,他们都是基于AQS...
Condition 是一个多线程协调通信的工具类,可以让某些线程一起等待某个条件(condition),只有满足条件时,线程才会被唤醒,相当于o...
J.U.C Java.util.concurrent 是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队...
volatile 可以使得在多处理器环境下保证了共享变量的可见性,那么到底什么是可见性呢?在单线程的环境下,如果向一个变量先写入一个值,然后在没...
在多线程并发编程中 synchronized 一直是元老级角色,很多人都会称呼它为重量级锁。但是,随着 Java SE 1.6 对synchro...
文集作者