并行VS异步编程

时间:2015-10-08 14:46:19

标签: asynchronous parallel-processing

虽然我试图深入研究这两种技术,但对于使用这些技术的问题和情况,我仍然有点模糊。

如果我简化这一点,是否使用并行和IO绑定的异步编程处理CPU限制的问题?

1 个答案:

答案 0 :(得分:1)

这个问题的一个更好的标题可能是“阻止还是不阻止?”并行或异步并不是相互排斥的。

我建议在问题上使用多个线程1)当它受CPU限制时,可以拆分成多个部分,不需要协调/共享来完成或2)工作可能会长时间停顿IO上的时间,我们不想阻止其他工作发生。

异步基本上意味着,不要阻塞线程等待某事完成。而是依赖于将通知其完成的回调。因此,当只有一个工作线程时,可以异步。

异步技术最近重新铺设,因为它们比阻塞技术更好地扩展。这是因为在管理这些线程的开销占主导地位之前,我们在一个系统上可以拥有多少个线程是有限的。