1)同步和异步
**同步:**就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返 回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;
**异步:**是指进程不需要一直等下去, 而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效 率。
2)并行和并发
并发:两个队列交替使用一台咖啡机(cpu)
并行:两个队列同时使用两台咖啡机(cpu)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X2lp8wGe-1646273523999)(C:/HYF/Typora/%E5%9B%9B%E9%97%A8%E4%B8%93%E4%B8%9A%E8%AF%BE/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.assets/image-20220127162548444.png)]
并发的关键是你有处理多个任务的能力,不一定要同时。
并行的关键是你有同时处理多个任务的能力。
所以我认为它们最关键的点就是:是否是『同时』
3)异步和并发
**异步:**异步和同步是相对的,同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行。异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。【谁先好谁先返回消息】
线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。