1.同步与异步
我们讨论的是广义的同步和异步,而不是狭义的线程和进程同步与异步。
首先需要回顾一下进程和线程的概念:
进程和线程的区别是操作系统最经典的问题,无论是面试还是相关专业课的考试,基本上都会出现它的身影,可是至少有一半以上的人把它们混淆在一起,其实过于扣字眼和概念也大可不必。但是有关这两个概念确实有一些争议性的地方。
生产者消费者问题,也叫有限缓冲区问题,其实是多进程同步问题,而百度百科和很多博客,都描述成是多线程同步的问题。虽然说线程也可以叫轻量的进程,但这个地方还是区别一下比较好。
维基百科上的写法就比较严谨:
multi-process synchronization problem:多进程同步问题
进程:分两种情况:
1.在非多线程OS中,进程是资源分配调度和独立运行的基本单位。关键字:独立运行,拥有资源。
2.在多线程OS中,进程只是资源分配的基本单位,而不是独立运行的基本单位,多线程OS把线程作为是资源调度和独立运行的基本单位