Java并发编程的艺术[1]
昨天阅读翻译了CompletableFuture的源码,目前百度,有道,基本是翻译效果一般,Google翻译比较准确,源码有很多注释,写个小测试类将其去掉,另外获得了《Java并发编程的艺术》PDF版,因为需要测试demo,就要转word,又找了个小测试类转成word,效果不错。参考《Java并发编程的艺术》 1.上下文切换 个人理解:CPU需要暂停当前任务,执行另一个任务,另一个任务完成后再执行当前任务,我们知道 时钟中断导致cpu切换进程 原文: CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。所以任务从保存到再加载的过程就是一次上下文切换。 2.多线程一定快吗? 书中demo public class Question1 { private static final long count = 10000L; public static void main(String[] args) throws InterruptedException { concurrency(); serial(); new CompletableFuture<>(); } private static void concurrency() throws