关于并发、并行、串行、同步、异步与互斥的解释

1. 并发

指的是在同一个时间段内,多条指令在CPU上同时执行

在操作系统中,一个时间段中有几个程序都处于已启动运行到运行完毕阶段,且都处于同一个处理机上运行

2. 并行

指的是在同一时刻,多条指令在CPU上同时执行

在单处理器中多道程序设计系统中,进程被交替执行,表现出一种并发的外部特种,在多处理器系统中,进程不仅可以交替执行,而且可以重叠执行;并行是同时发生的多个并发事件,具有并发的含义,但并发不一定并行,也亦是说并发事件之间不一定要同一时刻发生。

3. 串行

一次只能取得一个任务并执行这个任务,这个任务执行完后面的任务才能继续

4. 同步

同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行

前一个进程的输出作为后一个进程的输入,当第一个进程没有输出时第二个进程必须等待。具有同步关系的一组并发进程相互发送的信息称为消息或事件。

5. 异步

彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作

线程就是实现异步的一个方式,异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情,异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。

6. 互斥

进程间相互排斥的使用临界资源的现象,就叫互斥。


异步和同步的区别,  在 io 等待的时候,同步不会切走,浪费了时间,如果都是独占 cpu 的业务,在单核情况下多线和单线没有区别,多线程的好处,比较容易的实现了 异步切换的思想,因为异步的程序很难写的。多线程本身程还是以同步完成,但是应该说比效率是比不上异步的。 而且多线很容易写,相对效率也高。

猜你喜欢

转载自blog.csdn.net/weixin_46267139/article/details/131102431