J.U.C工具类详解
诸般世界
这个作者很懒,什么都没留下…
展开
-
001J.U.C工具类-CountDownLatch
CountDownLatch: 用于监听某些初始化操作,并且线程进行阻塞,等初始化执行完毕后,通知主线程继续工作执行。 CountDownLatch可以代替wait()和notify(); CountDownLatch可以去做一下监控操作,经常应用场景为程序在做准备工作的过程中,主程序是要继续向下进行,可以用于阻断主程序监听准备完成后继续执行;...原创 2019-06-20 22:45:27 · 127 阅读 · 0 评论 -
002 J.U.C工具类-CyclicBarrier
CyclicBarrier:栅栏的概念,多线程的进行阻塞(即阻塞多个线程),等待某一个临界值条件满足后,同时执行! 假设有只有的一个场景:每个线程代表一个跑步运动员,当运动员都准备好后,才一起出发,只要有一个人没有准备好,大家都等待! /*假设有只有的一个场景:每个线程代表一个跑步运动员, * 当运动员都准备好后,才一起出发,只要有一个人没有准备好,大家都等待! * */ pub...原创 2019-06-21 00:22:04 · 250 阅读 · 0 评论 -
003 Future与caller回调
Future模式,也是非常经典的设计模式,这种模式主要就利用空间换时间的概念,也就是说异步执行(需要开启一个新的线程),在互联网高并发的应用服务中,我们随处可见这种理念和代码,主要就是使用了这种模式;Future模式非常适合在处理很耗时很长的业务逻辑时进行使用,可以有效的减小系统的响应时间,提高系统的吞吐量!【吞吐量:即每秒钟可以承载的请求数量。】 /* 异步执行的任务,封装成一...原创 2019-06-21 10:07:53 · 200 阅读 · 0 评论 -
004 利用设计模式模拟Future
Future模式有点类似于商品订单。 比如在网购时,当看重某一件商品事,就可以提交订单,当订单处理完成后,在家里等待商品送货上门即可。 或者说更形象的我们发送Ajax请求的时候,页面是异步的进行后台处理,用户无须一直等待请求的结果,可以继续浏览或操作其他内容。 Futrue运行图解: //最上层接口 public interface Data { //接口方法,获取请求结果 ...原创 2019-06-21 13:59:52 · 155 阅读 · 0 评论 -
005 J.U.CExchanger线程数据交换器
Exchanger用于进行线程间的数据交换,它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据; 两个线程通过exchange方法交换数据,如果一个线程先执行exchange方法,它会一直等待第二个线程也执行exchange方法,当两个线程都达到同步点时,这两个线程就可以交换数据,将本线程生产出来的数据传递给对方。 使用场景: 1.遗传算法:遗传算法里需要选出两个人作为...原创 2019-06-21 20:01:44 · 105 阅读 · 0 评论 -
008-J.U.C工具 Semaphore信号量与限流策略
Semaphore信号量非常适合高并发访问限制,新系统在上线之前,要对系统的访问量进行评估,当然这个值肯定不是随便拍拍脑袋就能想出来的,是经过以往的经验、数据、历年的访问量,已经推广力度进行一个合理的评估,当然评估标准不能太大也不能太小,太大的话投入的资源达不到实际效果,纯粹浪费资源,太小的话,某个时间点一个高峰值的访问量上来直接可以压垮系统。 相关概念: •PV(page v...原创 2019-06-26 10:41:17 · 125 阅读 · 0 评论 -
006 J.U.工具-Forkjoin并行框架
Fork/Join框架是JAVA7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 关键点: 1.在什么情况下进行任务的拆分,即执行fork操作? Fork/Join中两个重要的类: 1.ForkJoinTask:使用该框架,需要创建一个ForkJoin任务,它提供在任务中执行fork和join操作...原创 2019-06-23 09:07:25 · 127 阅读 · 0 评论 -
007 设计模式-Master-Worker整体设计思路
Master-Worker模式是常用的并行计算模式。它的核心思想是系统由两类进程协作工作:Master进程和Worker进程。 Master负责接收和分配任务,Worker负责处理子任务。当各个Worker子进程处理完成后,会将结果返回给Master,由Master做归纳和总结,其好处是能将一个大任务分解成若干个小任务,并行执行,从而提高系统的吞吐量。 Ma...原创 2019-06-24 18:45:09 · 124 阅读 · 0 评论