线程数

T(线程数) = N(服务器内核数) * u(期望cpu利用率) * (1 + E(等待时间)/C(计算时间));

parallel与未定义自线程池的CompletableFuture效果差别不大,原因是底层都使用的默认的线程池;

CompletableFuture自定义线程池与Executors的运行效果差别不大,但CompletableFuture有很多组合式的异步编程方法: 

runAsync:异步执行没有返回值; 

supplyAsync:异步执行有返回值; 

thenApply:继续执行当前线程future完成的函数,不需要阻塞等待其处理完成; 

thenApplyAsync:在不同线程池异步地应用参数中的函数; 

thenCompose:用于多个彼此依赖的futrue进行串联起来 

thenCombine:并联起两个独立的future,注意,这些future都是在长时间计算都完成以后 

你可能感兴趣的:(线程数)