java8除了新增stream,还提供了parallel stream-多线程版的stream,parallel stream的优势是:充分利用多线程,提高程序运行效率,但是正确的使用并不简单,盲目使用可能导致以下后果...效率不增反降
增加额外的复杂度,程序更易出错
运行结果不正确
效率不增反降
parallel stream是基于fork/join框架的,简单点说就是使用多线程来完成的,使用parallel stream...时要考虑初始化fork/join框架的时间,如果要执行的任务很简单,那么初始化fork/join框架的时间会远多于执行任务所需时间,也就导致了效率的降低....根据附录doug Lee的说明,任务数量*执行方法的行数>=10000或者执行的是消耗大量时间操作(如io/数据库)才有必要使用
增加额外的复杂度,程序更易出错
在spring框架中,假设有一组主键id...,使用这组id去数据库获取记录
//DB.fetchRecord(long id)使用当前线程session连接数据库
ids.parallelStream().map(DB::fetchRecord)