相关疑难解决方法(0)

并发编程和并行编程有什么区别?

并发编程和并行编程有什么区别?我问谷歌,但没有找到任何帮助我理解这种差异的东西.你能给我一个例子吗?

现在我发现了这个解释:http://www.linux-mag.com/id/7411 - 但"并发性是程序的属性"vs"并行执行是机器的属性"对我来说还不够 - 我还不能说什么是什么.

language-agnostic parallel-processing concurrency

332
推荐指数
12
解决办法
10万
查看次数

Java的Fork/Join vs ExecutorService - 何时使用哪个?

我刚读完这篇文章:Java-5 ThreadPoolExecutor相对于Java-7 ForkJoinPool有什么优势?觉得答案不够直接.

您能用简单的语言和示例来解释,Java 7的Fork-Join框架与旧解决方案之间的权衡取舍是什么?

我还阅读了Google关于Java提示的#1热门提示:何时javaworld.com 使用ForkJoinPool vs ExecutorService但文章没有回答标题问题,它主要讨论api差异......

java concurrency multithreading executorservice fork-join

52
推荐指数
6
解决办法
3万
查看次数

Java并行流使用与否

在 Java 中使用并行流而不是执行器服务被认为是不好的做法吗?为什么?

如您所知,将在幕后myList.parallelStream().map(e -> ...)使用。ForkJoinPool.common()因此,如果您同时使用至少两个并行流,您可能会在以下情况下遇到问题:

  1. map函数被阻塞。但有ForkJoinPool.ManagedBlocker可以作为救援。
  2. map函数可能非常占用 CPU 资源,这将导致其他并行流陷入饥饿。有什么办法可以设置RecursiveTasks之间或ForkJoinPools之间的优先级吗?

另一方面,您可以ForkJoinPool根据需要创建任意数量的 s。new ForkJoinPool(4).submit(() -> myList.parallelStream()...在一个 JVM 上使用多个ForkJoinPools 是否被认为是性能明智的?

更新

使用或不使用并行流=使用或不使用ForkJoinPool,对吧?我发现这个这个链接对于回答最后一个问题非常有用

java parallel-processing java-stream

4
推荐指数
1
解决办法
3305
查看次数