一、进程的作用
进程是为了提高CPU的执行效率,减少因为程序等待带来的CPU空转以及其他计算机软硬件资源的浪费而提出来的。
二、线程的作用
线程是为了减少进程切换和创建的开销,提高执行效率和节省资源 。
三、进程和线程的区别?
调度:进程是操作系统进行资源分配的基本单位,而线程是任务调度和执行的基本单位。
拥有资源:进程是拥有资源的基本单位,线程不拥有资源,但线程可以共享器隶属进程的系统资源。
并发性:进程可以并发执行,而且同一进程内的多个线程也可以并发执行,大大提高了系统的吞吐量。
系统开销:创建和撤销进程时,系统都要为之分配或回收资源,在进程切换时,涉及当前执行进程CPU环境的保存以及新调度的进程CPU环境的设置;而线程切换时只需保存和设置少量寄存器内容,因此开销很小,另外,由于同一进程内的多个线程共享进程的地址空间,因此这些线程之间的同步与通信比较容易实现,甚至无须操作系统的干预。
通信方面:进程间通信需要借助操作系统,而线程间可以直接读/写进程数据段来进行通信。
四、进程间通信方式
管道( pipe )有名管道 (named pipe)信号量( semophore )消息队列( message queue )信号 ( signal )套接字( socket )
五、线程间通信方式
事件(Event)信号量(semaphore)互斥量(mutex)临界区(Critical section)