相关疑难解决方法(0)

968
推荐指数
27
解决办法
19万
查看次数

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

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

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

language-agnostic parallel-processing concurrency

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

并发性不是并行性?

是Rob Pike对此的幻灯片.每次我通过这个,我都觉得自己像个白痴.我无法弄清楚它的要点.众所周知,并发性是将复杂问题分解为更小的组件.如果你不能正确地将某些东西划分成较小的部分,那么使用并发很难解决它.

但是,一旦你实现了并发性,关于如何获得并行性的幻灯片中没有太多细节.在Lesson幻灯片(第52期)中,他说并发 - "甚至可能是并行".但问题是 - 何时以及如何才能正确有效地实现并发性并行化?

我的猜测是,在引擎盖下,Rob指出开发人员应该在并发级别工作 - 并行性应该是语言/ vm的关注(gomaxprocs?).只关心智能分解成更小的单元,只关心正确的并发性 - 并行性将由"系统"来处理.

请说清楚.

parallel-processing concurrency multithreading

21
推荐指数
1
解决办法
5489
查看次数

在Java中使用线程进行并行编程

Java中只有Java 7才能实现并行编程Join/Fork framework.

让我们说在Java中,使用ExecutorService我创建一个4线程的线程池并提交给它说10个任务,这意味着4个线程将开始执行4个任务,其他6个任务将被线程选中,当任何线程完成其任务时.

假设我有一个具有4个内核的四核处理器,我知道一个线程可以在一个内核上运行(这里没有采用超线程概念)所以我的所有4个线程并行工作,1个内核运行1个线程?这不是一个并行编程吗?

编辑: 阅读源 - 这是Java 8播放列表,在第1章中提到可以从Java 7开始实现并行编程.

java multithreading java-threads

3
推荐指数
1
解决办法
1386
查看次数