进程:进程是系统资源分配的最小单位,在执行过程中有自己的独立的内存单元,
进程的系统开销:进程在创建和销毁时都有系统要为之分配或回收资源,由此产生的开销不可避免,比如内存空间,I/O设备,
进程间通信:进程间通信需要IPC参与,多进程通信在调试和编程时要相对简单,但是创建和销毁进程产生的开销大于线程,多进程不会互相影响。
线程:线程时CPU调度的最小单位,依赖于进程而存在,一个进程可以有多个线程,但一个线程只隶属于一个进程,多个线程共享同一进程的内存空间,同一进程中 的多个线程共享代码段,堆,但是每个线程拥有自己的栈区,用来存放局部变量和临时变量。
线程的系统开销,线程的系统开销小于进程的系统开销,线程在切换时只需要保存或设置少量的寄存器内容,并不涉及储存管理的操作,
线程通信:线程间通信可以直接通过读写全局变量来实现,为保证准确性需要进行线程同步和互斥手段的参与。
进程互不影响,一个进程挂掉不影响其他进程的运行,但线程一个挂掉进程也会崩掉,因为共用进程空间,