ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【java并发编程】-04-并发工具和线程池

2019-08-25 14:03:09  阅读:202  来源: 互联网

标签:java 04 队列 到达 信号量 并发 计数器 线程 方法


CountDownLatch

允许一个或多个线程等待其他线程完成操作。

接收一个int参数作为计数器,调用countDown方法,计数器减1。await方法在计数器为0时,线程终止阻塞。

 

CyclicBarrier

当所有线程都到达屏障时,被屏障的所有线程才会继续运行。

 

Semaphore

信号量,用来控制同时访问特定资源的线程数量。

构造函数接收int数量信号量个数。

acquire()方法获取线程执行许可证,获取到后才可以执行

release()方法规划许可证。

 

Exchanger

线程间交换数据工具类。调用exchange()方法,当两个线程到达同步点时,可以彼此交换数据。

 

线程池

实现原理

核心线程数、工作队列、最大线程数、拒绝策略

当有个新任务到线程池时,

若线程池中线程数没到达核心线程数时,则创建新线程执行任务。

否则加入工作队列

若工作队列满时,则判断线程数是否到达最大线程数,若不到,则创建新线程执行任务。

否则进入拒绝策略。

 

 

Executor

ThreadPoolExecutor

    FixedThreadPool

    SingleThreadExecutor

    CachedThreadPool

 

ScheduledThreaPoolExecutor

SingleThreadScheduledExecutor

标签:java,04,队列,到达,信号量,并发,计数器,线程,方法
来源: https://blog.csdn.net/fengyu6623/article/details/100062619

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有