个人理解,进程是线程的容器,一个进程,可以有多个线程
并发
单核cpu
操作系统任务调度器组件,会将cpu的时间片分配给不同的的线程使用,由于cpu在线程间切换的非常快(windows下时片最小约为15毫秒),会给人一种在同时执行的感觉
并行
并发(concurren):同一时间应对多事件的能力(最终还是串行执行)
并行(parallel):同一时间动手做多件事的能力
并行一定并发,并发不一定并行
同步异步
同步:方法调用者需要等待结果,才能继续执行
异步:方法调用者不需要等待结果, 就能继续执行
CountDownLatch
ComplatableFuture
https://zhuanlan.zhihu.com/p/344431341
Timer
Timer 只会创建一个线程执行,当其中一个任务异常,会影响到后面的任务执行
ScheduledExecutorService
可以延迟和定时执行任务
可以解决Timer的的问题