进程:是并发执行程序在执行过程中分配和管理资源的基本单位
线程:是进程的一个执行单元
区别:
地址空间:线程共享本单元的地址空间,进程之间是独立的地址空间
资源:线程共享本进程的资源,如cpu,i/o,内存,不利于资源的管理和保护,而进程之间的资源是独立的,能很好的进行资源管理和保护
健壮性:多进程比多线程健壮,一个进程出问题,在保护模式下不影响其他进程的使用,一个线程出问题,整个进程全部崩溃
执行过程:每个独立进程都有一个程序执行入口,顺序执行序列,执行开销大
线程不能独立运行,必须依存在应用程序中,由应用程序执行多个线程并发控制,执行开销小
线程是处理器调度的基本单位
何时使用多进程,何时使用多线程
对资源的管理和保护要求高,不考虑开销和效率,使用多进程
要求效率高,频繁切换时,资源的管理和保护要求不是很高时,使用多线程