1.进程和线程
进程 - 执行中的程序,资源分配和管理的基本单位(PCB)。
进程状态:初始状态,就绪状态,执行状态,等待状态,终止状态。
线程 - 进程的一部分(轻量级的进程),线程是CPU调度的基本单位,线程和属于同一进程的其他线程共享进程的所有资源。
理解:线程是实现进程中某一个功能的“程序”。
内核对线程和进程没有区分,把它们都当作进程来调度。
内存安全问题--信号量(多个资源)--互斥锁(一个资源)
2.进程通信IPC
线程通信:同一个进程中的线程之间由于共享同一块内存空间,共享全局变量和其他资源。
管道通信(缓冲区) --- 数据只能单向流动(FIFO),且只能在有亲缘关系的进程之间使用。
匿名管道/命名管道
消息队列 --- 传递二进制数据块
共享内存 --- 最快的进程通信方式。在通信过程中不再需要进入内核进行系统调用。
shmget()函数等。和信号量配合使用。
信号量 --- 用于多进程对共享数据的访问。
生产者和消费者
套接字(socket)---