
多线程
东耳佳茗
东耳佳茗,一个有故事的程序员!
展开
-
多线程计数 AtomicInteger
大家在工作中肯定遇到过计数统计需求,单线程的情况下count直接定义int型就行,可是在多线程并发下会产生多个线程同时count++的情况,那么这种情况就需要用到AtomicInteger来保证int型变量操作的原子性。 AtomicInteger要点阐述 AtomicInteger的实现是基于CAS(Compare And Swop)原理; AtomicInteger的语义是:对Atomi...原创 2019-11-25 19:35:04 · 1140 阅读 · 0 评论 -
线程池动态调整线程数
领导要动态实时调整任务的线程数,这真的是个什么烂需求,线程数不是应该根据cpu资源来评估调的最优值吗,但是领导既然说了,硬着头皮也得弄啊,还是具体研究一下,不能做也得给出个理由啊... 按照JDK文档的描述, 如果池中的实际线程数小于corePoolSize,无论是否其中有空闲的线程,都会给新的任务产生新的线程 如果池中的线程数>corePoolSize and <maximum...原创 2019-09-09 16:33:11 · 5743 阅读 · 1 评论 -
CountDownLatch 模拟并发
CountDownLatch是一个非常实用的多线程控制工具类。常用的就下面几个方法: CountDownLatch(int count) //实例化一个倒计数器,count指定计数个数 countDown() // 计数减一 await() //等待,当计数减到0时,所有线程并行执行 模拟10个并发: public class CountDownLatchDemo implements ...原创 2019-09-10 14:54:57 · 485 阅读 · 0 评论