1.进程和线程概念
进程:可执行程序,系统进行资源调度和分配的基本单位(资源分配的最小单位)
线程:进程子任务,CPU调度和分配的最小单位(CPU调度的最小单位)
进程在执行过程中拥有独立的内存单元,各线程共享进程的内存;
由于进程创建和销毁,系统都要为之分配和回收资源,因此进程创建和销毁的开销大于线程的创建和销毁;
在进行进程切换时,涉及到整个当前进程CPU环境的保存以及新被调度运行的进程的CPU环境的设置。而线程切换只须保存和设置少量寄存器的内容,并不涉及存储器管理方面的操作。可见,进程切换的开销也远大于线程切换的开销;
2.线程通信
由于同一个进程中,各个线程具有相同的地址空间,因此通过互斥手段即可完成通信
互斥量、信号量、事件、临界区
3.进程通信
方式包含:管道、系统IPC(消息队列、信号量、信号、共享内存)、套接字
4.虚拟地址空间