JAVA多线程进阶篇
文章平均质量分 71
悟空学编程
十多年软件开发和管理经验,爱好编程与机器学习。
展开
-
JAVA多线程进阶篇 13、JUC并发容器
Java5.0提供了并发性能较好的并发容器,根据具体场景进行设计,尽量避免synchronized,提供并发性。 定义了一些并发安全的复合操作,并且保证并发环境下的迭代操作不会出错。原创 2022-03-15 17:40:28 · 759 阅读 · 0 评论 -
JAVA多线程进阶篇 12、JUC线程池之ForkJoinPool
ForkJoinPool使用分治算法(Divide-and-Conquer)把任务递归的拆分为各个子任务,,尽可能的使用所有可用的计算能力来提升应用性能。原创 2022-03-15 11:50:52 · 778 阅读 · 0 评论 -
JAVA多线程进阶篇 11、JUC线程池之ThreadPoolExecutor
为了更好的对线程进行管理,实现线程的统一分配,调优和监控,降低资源消耗,JUC设计了线程池。Executors实现了多个静态方法来创建各种线程池,在正式工作中,我们应当实现自定义的ThreadPoolExecutor 。原创 2022-03-14 18:01:50 · 3424 阅读 · 0 评论 -
JAVA多线程进阶篇 10、JUC之Callable Future FutureTask
除了Runnable接口外,Callable结合线程池、以及FutureTask类都可以提交线程任务。原创 2022-03-14 16:17:38 · 905 阅读 · 0 评论 -
JAVA多线程进阶篇 9、JUC工具类之LockSupport
LockSupport 能够阻塞、唤醒一个线程,相比wait()、notify()等方法更直接。原创 2022-03-10 11:29:48 · 537 阅读 · 0 评论 -
JAVA多线程进阶篇 8、JUC同步器之Exchanger
Exchanger 交换者,是一个用于线程间协作的工具类。Exchanger用于进行线程间的数据交换。它提供一个**同步点**,在同步点可以阻塞等待也可以设置超时、或被中断。原创 2022-03-10 09:37:45 · 936 阅读 · 0 评论 -
JAVA多线程进阶篇 7、JUC同步器之Semaphore
Semaphore 在本科计算机操作系统里就曾提及,通过信号灯的占有与请求,保证了线程的同步与限流。同时,Semaphore 可以很好的演示死锁情况。原创 2022-03-09 17:58:48 · 3757 阅读 · 0 评论 -
JAVA多线程进阶篇 6、JUC同步器之Phaser
phaser常用在遗传算法中,用于每一代的筛选和迭代。原创 2022-03-09 17:04:08 · 291 阅读 · 0 评论 -
JAVA多线程进阶篇 5、JUC同步器之CyclicBarrier
CyclicBarrier当等待线程达到预定数量即出发预定的行为。 适用于限流、配对等业务场景。原创 2022-03-09 14:51:05 · 271 阅读 · 0 评论 -
JAVA多线程进阶篇 4、JUC同步器之Countdownlatch
Countdownlatch提供了更灵活的线程同步方法,能够在线程完成后进行集结,且可以设置多个状态标志,使得程序更灵活。原创 2022-03-09 14:33:30 · 236 阅读 · 0 评论 -
JAVA多线程进阶篇 3、JUC读写锁之ReadWriteLock
ReadWriteLock 读写锁,在读时允许其他线程读,不允许写,在写时不允许其他线程读和写。通过细分场景,在读多写少的场景中,提升了性能。原创 2022-03-09 17:35:47 · 139 阅读 · 0 评论 -
JAVA多线程进阶篇 2、JUC重入锁之ReentrantLock
ReentrantLock是具有更多自定义功能的锁,能够重入、可以设置超时时间、能够接收打断信息、以及设置公平锁。ReentrantLock的加锁与解锁是有标准写法的,比须在finally块中进行关闭。原创 2022-03-09 12:16:46 · 198 阅读 · 1 评论 -
JAVA多线程进阶篇 1、JUC原子类之Atomic
Atomic类是一种原子类型数据,主要用以解决数值的递增的并发问题。原创 2022-03-09 11:21:08 · 222 阅读 · 0 评论