作者回复: 👍👍
作者回复: 思考题考虑的很全面👍
作者回复: 这个简单场景没必要用
作者回复: 👍👍
作者回复: 我觉得可以优先使用CompletableFuture,当然前提是你的jdk是1.8
作者回复: 喊一嗓子,让朋友点
作者回复: 是的,复杂场景就能体现出优势了
作者回复: 后面有介绍
作者回复: 有关系,如果系统就一个线程池,里面的线程都阻塞在io上,那么系统其他的任务都需要等待。如果其他任务有自己的线程池,就没有问题。
作者回复: 有个地方需要注意:runAsync和supplyAsync都是静态方法。
线程池设置的太小了,这是个IO密集型的任务
thenApply里面的runAsync我觉得好像是没有必要,增加了复杂的了。
如果thenApply里面需要异步,可以用thenApplyAsync
作者回复: 你也可以理解成给第一个子任务追加了一个类似“回调方法”。回调不也是在第一个任务执行完才回调吗?所以也是串行的。都是一回事,你怎么理解起来顺手就怎么理解就可以了。
作者回复: 可以,实际情况不会只提交一个慢的任务
作者回复: Java里的lambda表达式