我感到困惑,因为异步编程是一种异步执行代码块的方法,该方法调用一个方法并且不等待结果。同样,并行编程是一种同时执行多个任务的方法,但是所有这些任务都是异步执行的。所以想知道/困惑这两个编程范例在C#中的关系是什么。
最佳答案
并行编程是一种技术,其中我们使用多个线程来更快地执行任务。这意味着在现代多核体系结构上,我们可以利用更多可用资源来执行任务。
一个很好的例子是使用quicksort对列表进行排序。
通常,并行编程的性能很重要,并且所有线程都朝着一个共同的目标努力。
异步编程略有不同。这通常涉及较长的运行任务和可能正在等待某种外部刺激的任务。一个很好的例子是在后台线程中执行大量计算,以便UI保持响应。对于异步代码,我们通常谈论的是与主应用程序执行速度不同的代码。
关于c# - C#中的异步编程和并行编程之间有什么关系?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12434369/