Java并发编程-28-并发集合概述
来源:互联网 发布:amd cpu 温度 软件 编辑:程序博客网 时间:2024/04/24 12:15
一、基础概念
1、同步和异步 ----描述的是通信模式
同步:发送方发送请求后,需要等待接收方发回的响应后,才能发送下一个请求。所有的请求在服务器端得到同步,发送方和接收方对请求的处理步调是一致的
异步:发送方发送请求后,不等待接收方响应这个请求,就继续发送下一个请求。所有来自发送方的请求形成一个队列,接收方处理完成后通知发送方
2、阻塞和非阻塞 ---- 描述的是进程处理调用模式
阻塞:调用结果返回之前,当前线程从运行态被挂起,一直等到调用结果返回之前,才进入就绪态,获取cpu之后继续执行
非阻塞:如果调用结果不能立即返回,当前线程也不会被挂起,而是立即返回执行下一个调用
二、新的概念
1、同步阻塞
发送方 --->向接收方发送请求后,一直等待响应。接收方处理请求时进行的IO操作如果不能立马得到结果,就一直等到返回结果后,才响应发送方。期间不能进行其他工作。
比如:在超市排队付账时,客户(发送方)向收银妹子(接收方)付款(发送请求)后需要等待收银妹子找零(返回结果),期间不能离开,而收银妹子要等待收款机返回结果(IO操作)后才能把零钱返回给客户(响应请求),期间只能等待。
这种方式效率不高。
2、同步非阻塞
发送方 --->向接收方发送请求后,一直等待响应;接收方处理请求时进行的IO操作如果不能立马得到结果,就立即返回,去做其他事情。由于没有得到请求处理结果,不能响应发送方,发送方一直等待。一直等到IO操作完成后,接收方获得结果响应发送方后,接收方才进入下一次请求过程。
在实际中,不使用这种方式。
3、异步阻塞
发送方 --->向接收方发送请求后,不用等待结果响应,可以接着发送其他请求或者其他工作;接收方处理请求时进行的IO操作如果不能立马得到结果,就一直等到返回结果后,才响应发送方,期间不能进行其他工作。
在实际中,也不使用这种方式。
4、异步非阻塞
发送方 --->向接收方发送请求后,不用等待响应,可以继续其他工作;接收方处理请求时进行的IO操作如果不能立马得到结果,也不等待,而是马上返回做其他工作。当IO操作完成后,将完成状态和结果通知接收方,接收方再响应发送方。
比如:在超市排队付账时,客户(发送方)向收银妹子(接收方)付款(发送请求)后需要等待收银妹子找零(返回结果),期间可以打电话,聊微信,而收银妹子在等待收款机返回结果(IO操作)的过程中,可以帮助客户将商品打包,当收款机产生结果后,收款妹子给客户结账(响应请求)
这种方式效率很高。
三、Java提供的用于并发场景的集合
1、阻塞式集合
2、非阻塞式集合
3、随机数字对应的实现类
4、原子变量对应的实现类
四、阻塞式集合
这类集合包括添加和移除数据的方法。当集合已满或者为空时,被调用的添加或者移除方法就不能立即被执行,调用这个方法的线程被阻塞,一直到该方法可以被成功执行。对应的集合类名带有Blocking
五、非阻塞式集合
这类集合也包括添加和移除数据的方法。当集合已满或者为空时,被调用的添加或者移除方法就不能立即被执行,则返回null或者抛出异常,但调用这个方法的线程不会被阻塞。一般集合类名以Concurrent开头
- Java并发编程-28-并发集合概述
- JAVA并发-并发编程概述
- 【Java并发编程】并发集合
- java并发编程概述
- java并发编程 之 并发集合对象
- 并发编程--并发集合
- java并发--并发集合
- java中的并发集合类概述
- Java多线程--并发集合框架概述
- java-并发-高并发概述
- Java并发编程札记-(二)JUC概述
- 1.并发编程概述
- 《Java 7 并发编程指南》学习概要 (4) 并发集合
- Java 并发编程(九)并发集合框架
- Java并发容器并发集合
- JAVA并发编程 用法集合1
- 并发编程--并发编程框架概述
- Java并发概述
- wpf中子窗口的几个问题
- CODE[VS] 1098 均分纸牌
- 让你的Git水平更上一层楼的10个小贴士
- iOS-学习笔记-UI-第十一天
- 面试题
- Java并发编程-28-并发集合概述
- iOS-学习笔记-UI-第十二天
- C语言连接MySQL数据库
- u Calculate e
- iOS-学习笔记-UI-第十三天
- iOS-学习笔记-UI-第十四天
- 集线器(HUB),交换机(Switch),路由器(Route)
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第五课:Hello World
- iOS-学习笔记-UI-第十五天