![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 95
以终为始001
每个人都有属于自己的一片森林,也许我们从来不曾走过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢
展开
-
ThreadPoolExecutor线程池原理
线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待监督管理者分配可并发执行的任务。这种做法,一方面避免了处理任务时创建销毁线程开销的代价,另一方面避免了线程数量膨胀导致的过分调度问题,保证了对内核的充分利用。本文描述线程池是JDK中提供的ThreadPoolExecutor类。.........原创 2022-08-09 12:20:43 · 401 阅读 · 0 评论 -
并发工具类——CountDownLatch、CyclicBarrier、Semaphore、Exchanger的介绍与使用
CyclicBarrier默认的构造方法是CyclicBarrier(int parties),其参数表示屏障拦截的线程数量,每个线程调用await方法告诉CyclicBarrier我已经到达了屏障,然后当前线程被阻塞。try {try {} }12或者21如果CyclicBarrier的参数为3,那么会一直阻塞,因为没有三个线程到达。还提供一个更高级的构造函数CyclicBarrier(int parties,),用于在线程到达屏障时,优先执行barrierAction。............原创 2022-08-08 11:15:43 · 181 阅读 · 0 评论 -
高效并发:Synchornized的锁优化详解
高效并发是从JDK 5升级到JDK 6后一项重要的改进项,HotSpot虚拟机开发团队在这个版本上花费了大量的资源去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁消除(LockElimination)、锁膨胀(Lock Coarsening)、轻量级锁(Lightweight Locking)、偏向锁(BiasedLocking)等,这些技术都是为了在线程之间更高效地共享数据及解决竞争问题,从而提高程的执行效率......原创 2022-07-30 17:02:59 · 448 阅读 · 0 评论