并行开发需要掌握的几个概念
1.同步(Synchronous)和异步(Asynchtonous)
同步:同步方法调用一旦开始,调用者必须等到方法调用返回结果,才可以进行后续的操作。
异步:异步方法调用更像一个消息传递,一旦开始,方法的调用就会立即返回结果,调用者就可以进行后续的操作。
区别:对于调用者来说异步调用感觉像是一瞬间完成的。
2.并发(Concurrency)和并行(Parallelism)
并发:多个任务之间的来回切换,而多个任务之间肯还是串行执行的(一会执行A一会执行B,系统不停的在两者之间切换)。
并行:多个任务真实的“”“同时执行。”
3.临界区
用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有一个线程使用它,一旦临界区资源被占用,其他线程想要使用它,就必须等待(在并行程序中,临界资源是保护的对象)