Fork And Join 的并发框架对与大型任务的分解计算是十分方便的。主要是将任务分割(fork)最后再合并(join)得到结果。
实际上使用了分治
的思想。其中涉及到任务窃取算法等。
以下是一个计算Fibonacci数列的Demo,使用BigInteger是为了避免溢出,但是计算效率大大降低,可以用Long类型代替。
|
|
举一反三,例如计算1+2+…+n就可以使用这种多线程模型,假设1+2比较耗时的话。
Then 还有一只特别胖
Fork And Join 的并发框架对与大型任务的分解计算是十分方便的。主要是将任务分割(fork)最后再合并(join)得到结果。
实际上使用了分治
的思想。其中涉及到任务窃取算法等。
以下是一个计算Fibonacci数列的Demo,使用BigInteger是为了避免溢出,但是计算效率大大降低,可以用Long类型代替。
|
|
举一反三,例如计算1+2+…+n就可以使用这种多线程模型,假设1+2比较耗时的话。