Java并发工具类和框架常识(todo)

题记:书到用时方恨少,钱到月底不够花!
此文是读取一些关于并发工具、并发类的框架(多是入门级别)的文章时,取精去粕之后的总结,不过更多应该算是备忘了。日常工作中,并发工具其实并不常用,往往碰见适用的场景时又偏偏 记不起对应的API了。本文,专治此症。
此外,在此立个flag,凡有读书,必有输出!

0、多线程异常处理

之所以将本节放置在第0节,是因为多线程的异常处理会穿插在下面的所有章节中。

  1. 子线程的异常是不能抛出到父线程中捕获的
    为啥呢?
    因为线程是独立执行的代码片段,每个线程的问题应该由自己来解决,而不要委托到外部。
    线程方法的异常都应该在线程代码块之内(run方法内)进行try catch并处理掉.换句话说,我们不能捕获从线程中逃逸的异常
    不过,我们可以在子线程代码块中try catch处理了异常之后,再主动抛出异常,这样当父线程中需要从子线程获取执行结果时,就会抛出这个异常,从而中断父线程流程;但若父线程并不关心子线程的执行结果,那么这个异常并不会影响父线程流程。
  2. 我们可利用Java5的 Thread.UncaughtExceptionHandler 类来定义异常处理器。(TODO :demo)

一、ExecutorCompletionService处理多并行任务’完成一个就返回

  • java8自带的工具类,在实现多任务并处理时好用,既可以适用于完成一个就返回,也适于全部完成才返回,比自己用CompletableFutureFuture ExecutorService.submit()手搓更优雅

二、CountDownLatch&CyclicBarrier

三、Phaser

四、Executor& ThreadPoolExcecutor

五、Semphore&Exchanger

八、ScheduledExecutorService API

九、Fork-Join

十、并发集合

十一、总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值