1.进程与线程的概念,以及为什么要用进程线程,其中有什么区别,他们各自又是怎么同步的
进程:是对运行程序的封装,是系统进行资源调度和分配的基本单位,实现了操作系统的并发。
线程:是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发。
线程是操作系统可识别的最小执行和调度单位。每个线程都独自占用一个虚拟处理器。每个线程完成不同的任务,但是共享同一地址空间。
区别:
1.一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程依赖于进程而存在。
2.进程在执行过程中拥有一个独立的内存单元,而多个线程共享进程的内存。
3.进程是资源分配的最小单位,线程是cpu调度的最小单位。
4.系统开销:进程的切换开销也远大于线程切换的开销。
5.进程间不会相互影响;线程一个线程挂掉将导致整个进程挂掉。