【并行编程 笔记】【简介】

130 阅读1分钟

简介

Parallel 编程本质上是把问题拆分成或大或小的部分,每部分分开独立计算。如果你愿意,还可以把结果aggregate起来

  • 包括如下:

Image.png


parallel和asynchronous programming 最大的区别是,后者可以schedule一个continuation.

parallel extension和task 肩并肩存在。parallel extension内部是在使用task parallel library的

示例

Image.png

Image.png

Image.png


什么时候要用并行编程呢?

Image.png

  • 我们为什么要讨论使用parallel extension呢?

因为,我们不知道自己的电脑在跑我们的应用程序的时候有多少个可用的核,而parallel会帮我们计算一种高效使用核的方式出来,这很省心,所以需要了解它

并行,是无序的

Image.png

Image.png


会阻塞调用线程

Image.png

parallel extension的方法都是会阻塞调用线程直到调用结束的。所以就不要想callback调用线程了,否则会发生死锁。

Image.png

  • 解决方案:

如果想避免阻塞UI线程,那么可以用task.run来包裹它。

ParallelOptions 的使用

Image.png

提个醒儿:

Image.png