05 2020 档案

摘要:1 简介 Semaphore可翻译为信号量,它维护一组许可证, 每次尝试获取许可证时都将阻塞等待直到可获取,它才能获取到并解除阻塞状态。 Semaphore可以控制一些物理或逻辑资源的访问或使用,它常常用于限制线程数目。在实际开发中,可用作流量控制,特别对于一些公共资源有限的应用场景,如数据库连接, 阅读全文
posted @ 2020-05-25 01:36 蜀中孤鹰 阅读(818) 评论(0) 推荐(0) 编辑
摘要:1 前言 CyclicBarrier是一种同步工具,它允许一组线程在到达一个公共的屏障点时阻塞等待,直到最后一个线程到达屏障点,屏障才能开启,此时所有被阻塞线程才能被唤醒从而继续执行。CyclicBarrier是一个可循环利用(cyclic)的的屏障(barrier),与CountDownLatch 阅读全文
posted @ 2020-05-17 22:54 蜀中孤鹰 阅读(414) 评论(0) 推荐(0) 编辑
摘要:1 前言 CountDownLatch是一种同步辅助工具类,它允许一个或多个线程等待,直到在其他线程中执行的一组操作完成为止。(源码分析基于JDK1.8) CountDownLatch需要用给定的闩锁计数count初始化。await方法使当前线程阻塞(每执行一次countDown方法就将闩锁计数减1 阅读全文
posted @ 2020-05-11 23:26 蜀中孤鹰 阅读(223) 评论(0) 推荐(0) 编辑
摘要:1 前言 在多线程程序中,如果多个线程同时更新一个共享变量,可能会出现预料之外的奇怪的值。普通的变量无法在多线程下做到可见性、一致性、原子性,也就无法保证线程安全。在JDK的java.util.concurrent.atomic包中提供许多原子操作类,它们可以简单、 高效、安全地更新一个变量。现在介 阅读全文
posted @ 2020-05-06 21:33 蜀中孤鹰 阅读(525) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示