并行和并发、同步和异步的区别

1、并行

      对多处理器而言--多个程序在同一时刻发生,具有并发的含义,但并发不一定并行,也亦是说并发事件之间不一定要同一时刻发生。

     并行:在单处理器中多道程序设计系统中,进程被交替执行,表现出一种并发的外部特种;在多处理器系统中,进程不仅可以交替执行,而且可以重叠执行。在多处理器上的程序才可实现并行处理。计算机操作系统中把并行性和并发性明显区分开,主要是从微观的角度来说的,具体是指进程的并行性(多处理机的情况下,多个进程同时运行)和并发性(单处理机的情况下,多个进程在同一时间间隔运行的)。

2、并发

    对单处理器而言--多个程序在同一时间段发生;

    (1) 并发中又有:互斥和同步:
    互斥:进程间相互排斥使用 临界资源;比如写操作
    同步:不是排斥关系而是依赖关系,前一个进程的输出是后一个进程的输入,当第一个进程没有结束时第二个进程必须等待,相互协同完成一些事情;;具有同步关系的一组进程并发时发送的 消息称为消息或者事件;
    (2)同步和异步:
    异步:就是线程B在等待A的结果的时候还可以继续干自己的事儿,之间通过消息和事件来通知对方,提高了程序运行的效率。简而言之,就是不是站在那儿傻傻死等;异步和多线程并不是一回事, 异步是最终目的,多线程只是实现的一种方法。

你可能感兴趣的:(操作系统)