简单的多线程并不能提高效率

2016-12-03  本文已影响0人  017830d97951

下面是一个最简单的多线程处理程序。这种多线程处理并不能提高效率

private ExecutorService threadPool = Executors.newFixedThreadPool(2);

//..
Output process(Input input) {
    Future<Output> f = 
        threadPool.submit(() ->
           longTimeConsumingTask(input));
  return f.get();
}

这里似乎看到 longTimeConsumingTask 在其他线程里面并行计算,但可惜的是 f.get() 在这里同步等待。

这种方式其实和在本线程里面运行 longTimeConsumingTask 区别不大。

上一篇下一篇

猜你喜欢

热点阅读