深入理解同步与异步,阻塞与非阻塞

1.同步与异步

我们讨论的是广义的同步和异步,而不是狭义的线程和进程同步与异步。

首先需要回顾一下进程和线程的概念:

进程和线程的区别是操作系统最经典的问题,无论是面试还是相关专业课的考试,基本上都会出现它的身影,可是至少有一半以上的人把它们混淆在一起,其实过于扣字眼和概念也大可不必。但是有关这两个概念确实有一些争议性的地方。

生产者消费者问题,也叫有限缓冲区问题,其实是多进程同步问题,而百度百科和很多博客,都描述成是多线程同步的问题。虽然说线程也可以叫轻量的进程,但这个地方还是区别一下比较好。

维基百科上的写法就比较严谨:

multi-process synchronization problem:多进程同步问题

进程:分两种情况:

1.在非多线程OS中,进程是资源分配调度和独立运行的基本单位。关键字:独立运行,拥有资源。

2.在多线程OS中,进程只是资源分配的基本单位,而不是独立运行的基本单位,多线程OS把线程作为是资源调度和独立运行的基本单位

线程:CPU调度和分派的基本单位

原文地址:https://www.cnblogs.com/umrx/p/7994865.html