java concurrent包的学习(转)

http://my.oschina.net/adwangxiao/blog/110188

我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完 成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防 止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以 及如何避免线程安全性方面带来的危害等诸多因素,往往会采用一些较为复杂的安全策略,加重了程序员的开发负担.万幸的是,在JDK1.5出现之后,Sun 大神(Doug Lea)终于为我们这些可怜的小程序员推出了java.util.concurrent工具包以简化并发完成。开发者们借助于此,将有效的减少竞争条件 (race conditions)和死锁线程。concurrent包很好的解决了这些问题,为我们提供了更实用的并发程序模型。

Executor                  :具体Runnable任务的执行者。
ExecutorService           :一个线程池管理者,其实现类有多种,我会介绍一部分。我们能把Runnable,Callable提交到池中让其调度。
Semaphore                 :一个计数信号量
ReentrantLock             :一个可重入的互斥锁定 Lock,功能类似synchronized,但要强大的多。
Future                    :是与Runnable,Callable进行交互的接口,比如一个线程执行结束后取返回的结果等等,还提供了cancel终止线程。
BlockingQueue             :阻塞队列。
CompletionService         : ExecutorService的扩展,可以获得线程执行结果的
CountDownLatch            :一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。
CyclicBarrier             :一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点
Future                    :Future 表示异步计算的结果。
ScheduledExecutorService :一个 ExecutorService,可安排在给定的延迟后运行或定期执行的命令。

定制并发类(五)在一个Executor对象中使用我们的ThreadFactory

http://ifeve.com/customizing-concurrency-classes-5/

转载于:https://www.cnblogs.com/yaowukonga/p/3488531.html

java concurrent包的学习(转)相关推荐

  1. java.util.concurrent包API学习笔记

    newFixedThreadPool 创建一个固定大小的线程池. shutdown():用于关闭启动线程,如果不调用该语句,jvm不会关闭. awaitTermination():用于等待子线程结束, ...

  2. java Concurrent包学习笔记(一):ExecutorService

    一.介绍 ExecutorService是java.util.concurrent包中的一个线程池实现接口.其有两个实现类: 1)ThreadPoolExecutor:普通线程池通过配置线程池大小,能 ...

  3. Java - concurrent包详解

    我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量Java ...

  4. java concurrent包介绍及使用

    2019独角兽企业重金招聘Python工程师标准>>> 说一说java的concurrent包1-concurrent包简介 前面一个系列的文章都在围绕hash展开,今天准备先说下c ...

  5. JAVA矩阵包JAMA学习

    原文链接:JAMA:Java矩阵包 API文档链接:线性代数Java包 JAMA jama是一个非常好用的java的线性代数软件包.适用于日常编程可能碰到的各种矩阵运算问题,提供了一个优雅的简便的解决 ...

  6. 死磕java concurrent包系列(六)基于AQS解析信号量Semaphore

    Semaphore 之前分析AQS的时候,内部有两种模式,独占模式和共享模式,前面的ReentrantLock都是使用独占模式,而Semaphore同样作为一个基于AQS实现的并发组件,它是基于共享模 ...

  7. Java concurrent包中常用的类

    1. Atomic类 基于 compareAndSwap,即CAS操作实现. CAS指令有两个步骤:冲突检测和更新操作. CAS指令需要3个操作数:内存位置(V),旧的预期值(A),新值(B).CAS ...

  8. 从阿里社招面试,看“野生”Java程序员的学习道路

    引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...

  9. 【JDK源码】java.lang包常用类详解

    接下来的几天开始JDK源码的学习和总结,之前看<java编程思想>的时候看到java的基础知识有很多,其中支撑着这些基础的基础中的基础当属JDK.JDK的基础代码里面又分了很多基础的模块, ...

最新文章

  1. TensorFlow XLA优化与Memory
  2. django的权限认证:登录和退出。auth模块和@login_required装饰器
  3. 学成在线--22.课程营销
  4. 计算机科学考试题目,附录A 计算机科学与技术学科综合考试人工智能真题
  5. cp和scp复制命令
  6. 韩顺平php从入门到精通讲义,传智播客_韩顺平_php从入门到精通
  7. 2021最新Java零基础自学教程,java从入门到精通
  8. JavaScript 高级程序设计(第3版)
  9. 斐讯k2虚拟服务器设置,斐讯K2调配设置
  10. php use not allowed,PHP Curl - Received HTTP/0.9 when not allowed
  11. 基于Android Studio开发的笔记APP
  12. 用python对excel进行行列操作
  13. python anaconda下载包_Anaconda下载 10.0.15063.0
  14. 已解决SyntaxError:expected ‘:‘
  15. 前后端分离电商B2C模式之_后台_购物车
  16. 解读《海贼王》—(一)
  17. 数字图像基本处理算法
  18. 画图用计算机显卡,1分钟看懂显卡显卡绘图原理!
  19. 熊掌号 php提交,网站接入熊掌号,网页配置并提交
  20. 被怼到绝望的我,Java框架体系架构的知识,超详细

热门文章

  1. cisco交换机Telnet配置
  2. EMC NetWorker备份oracle安装配置指南
  3. java开发环境配置环境变量_3. Java开发环境的搭建:安装JDK,配置环境变量
  4. 三种复位方式: 同步复位、异步复位、异步复位同步释放
  5. 欢迎使用CSDN-markdown编辑器1
  6. GoCD 19.2.0 发布,ThoughtWorks 的持续集成引擎
  7. CSDN开源夏令营 百度数据可视化实践 ECharts(8)
  8. 邁向IT專家成功之路的三十則鐵律 鐵律十七:IT人休閒之道-清心
  9. JSP第四课:用户注册登录设计(内置对象使用)
  10. linux 更改服务的启动顺序