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

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

private ExecutorService threadPool = Executors.newFixedThreadPool(2);

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从哪说起呢? 单纯讲多线程编程真的不知道从哪下嘴。。 不如我直接引用一个最简单的问题,以这个作为切入点好了 在ma...
    Mr_Baymax阅读 7,792评论 1 17
  • 第三章 Java内存模型 3.1 Java内存模型的基础 通信在共享内存的模型里,通过写-读内存中的公共状态进行隐...
    泽毛阅读 9,820评论 2 21
  • Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 1...
    AlanGe阅读 5,797评论 0 17
  • //Clojure入门教程: Clojure – Functional Programming for the J...
    葡萄喃喃呓语阅读 9,226评论 0 7
  • 有朋友提到她的伤心事。在我看来,伤心归根到底是现实与期待的差距问题。能导致伤心的,除了投入时间精力,更重要的...
    ivisliu阅读 1,469评论 0 1