JUC
文章平均质量分 91
Jack_abu
搬砖这么多年,开始沉淀点东西吧
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
详解JUC包中的Condition接口
Java的Condition接口提供了比Object.wait()/notify()更精细的线程协调机制,主要特点包括:1)一个Lock可创建多个Condition,实现多条件精准唤醒;2)支持await()、signal()等方法,可响应中断;3)基于AQS实现,通过独立等待队列管理线程。典型应用如生产者-消费者模型,使用时需注意循环检查条件、避免死锁等最佳实践。Condition通过多条件队列和灵活唤醒策略,显著提升了并发程序的可控性和性能。原创 2026-02-09 18:09:59 · 536 阅读 · 0 评论 -
详解java中的线程间协作工具:CountDownLatch,Semaphore,CyclicBarrier(二)
Java并发编程中的三大同步工具类各有特点:CountDownLatch用于一次性线程同步,通过计数器实现主线程等待多个子线程完成;Semaphore通过许可证机制控制资源并发访问,支持动态调整许可证数量;CyclicBarrier则实现多线程循环同步,屏障触发后可重置复用。此外,Exchanger支持线程间数据交换,Phaser提供更灵活的多阶段同步能力。这些工具基于AQS实现,适用于不同并发场景,开发者可根据任务特性选择合适的同步机制。原创 2025-12-19 20:08:25 · 827 阅读 · 0 评论 -
详解java中的BlockingQueue阻塞队列
Java的BlockingQueue是并发编程中实现生产者-消费者模式的核心工具,提供线程安全的阻塞操作。主要实现类包括基于数组的ArrayBlockingQueue、链表的LinkedBlockingQueue、优先级的PriorityBlockingQueue等,各有适用场景。通过锁机制和条件变量保证线程安全,支持阻塞/非阻塞操作及超时控制。典型应用于线程池任务队列、消息传递和流量控制。使用时需注意死锁风险、无界队列的内存问题及性能优化。原创 2025-12-18 20:25:40 · 986 阅读 · 0 评论
分享