同步/异步/多线程 的区别和解释

Posted gaoanlee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同步/异步/多线程 的区别和解释相关的知识,希望对你有一定的参考价值。

一般情况:顺序结构,必须等待前面的操作完成(两个人说话,a把所有话说完,b才能继续说)

并发:同一时间段处理多个任务的能力(两人说话,支持你一言我一语的交流,两人在一个时间段内都有说话,是基于时间段内的同时发生)

并发又有同步和互斥

  互斥:不能同时使用临界资源(有一个共享资源--话筒,两人必须用话筒说话,但同时只能有一个人用这个话筒,保证了只有一个人在说话)

   同步:前一个处理的结果作为下一个处理的资源。大多数情况下,同步已经实现了互斥。(两人你一言我一语的交流,我必须知道你说了啥我才能接上你的话)

并行:同一时刻处理多个任务的能力(两人合唱,同时出声)

异步:不用等待一个结果出来,可以继续其他操作(两个人不说话了,寄信,a把信拿到邮局就不用管了,回家可以想干嘛就干嘛,等b回信到了,取邮局接收一下结果--b的回信就可以了)

多线程:如果说同步和异步是对如何处理事情的要求,那么多线程就是实现这些要求的方法

以上是关于同步/异步/多线程 的区别和解释的主要内容,如果未能解决你的问题,请参考以下文章

iOS多线程——同步异步串行并行

并发 并行 同步 异步 多线程的区别

多线程的同步和互斥有啥区别

python 多进程/多线程/协程 同步异步

并发 并行 同步 异步 多线程的区别

GIL 线程池 进程池 同步 异步