并发编程
文章平均质量分 84
并发编程
草履虫·
这个作者很懒,什么都没留下…
展开
-
倒计数器CountDownLatch
CountDownLatch是Java并发编程中一个非常实用的同步工具类,它位于java.util.concurrent包下,是JDK 1.5以后加入的。CountDownLatch通过一个计数器来控制多个线程的执行顺序,允许一个或多个线程等待其他线程完成操作后再继续执行。原创 2024-09-26 12:24:48 · 901 阅读 · 0 评论 -
Java线程池详解
本文详细探讨了线程池在并发编程领域的应用,介绍了ThreadPoolExecutor的核心组件、工作原理,线程池的构造、拒绝策略、任务队列、线程池的监控、线程池工厂等相关内容,并讨论了线程池对系统性能和线程管理的优势。原创 2024-09-26 09:18:08 · 1810 阅读 · 0 评论 -
信号量Semaphore
Semaphore(信号量)是一种用于控制对共享资源的访问数量的同步机制。它维护了一个计数器,该计数器表示可用资源的数量。当线程需要访问某个资源时,它会尝试从信号量中获取一个许可(permit)。如果信号量的计数器大于0,则允许线程继续执行,并将计数器减1。如果计数器为0,则线程将被阻塞,直到其他线程释放许可(即将计数器加1)为止。信号量通常用于限制可以同时访问某个特定资源(如数据库连接、文件句柄或线程池中的线程)的线程数量。原创 2024-09-25 10:24:41 · 370 阅读 · 0 评论 -
ReadWriteLock读写锁
ReadWriteLock是Java并发包中的一个接口,它定义了两种锁:读锁(Read Lock)和写锁(Write Lock),真正的实现类是ReentrantReadWriteLock。读锁允许多个线程同时读取共享资源,而写锁则要求独占资源,即当一个线程持有写锁时,其他线程不能获取读锁或写锁。原创 2024-09-25 09:03:35 · 459 阅读 · 0 评论 -
重入锁ReentrantLock详解
ReentrantLock是Java并发包中提供的一种功能强大、使用灵活的可重入锁。它支持公平锁和非公平锁、显式锁控制、尝试非阻塞地获取锁、支持超时尝试获取锁、支持中断以及条件变量等特性。原创 2024-09-24 08:41:16 · 1325 阅读 · 0 评论 -
ConcurrentHashMap的使用
ConcurrentHashMap是Java 并发包(java.util.concurrent)中提供的一个线程安全且高效的哈希表实现,用于在并发环境中存储键值对,它允许在多个线程之间安全地共享和修改数据,使得开发者无需显式同步代码就能在并发环境下安全使用。与同样是线程安全的哈希表HashTable相比,ConcurrentHashMap具有更高的并发效率。总之ConcurrentHashMap是一个高性能的Java并发容器,是多线程下常用的map容器,其使用方法基本可以参考HashMap。原创 2024-09-23 15:04:14 · 588 阅读 · 0 评论