1、进程是资源分配的最小单元,线程是程序执行的最小单元
线程是程序执行的最小单元,所以它是进程的一个执行流,是CPU调度和分配的基本单位。
一个进程可以有很多线程
2、进程拥有自己独立的地址空间,线程是永祥进程的数据,使用相同的地址空间。
所以对于进程来说,独立的地址空间对于计算机来说,操作起来很费资源。CPU切换线程要比切换进程来的更容易更快速。创建时花费的开销也很小。
对于多进程来说,死一个进程没啥大影响,因为空间都是独立的,但是对于线程来说,死一个就全死了,因为空间是公用的。比如说一个线程占用了一个空间,但是死了,就一直占用着,那多线程就都死了。
因为对于线程来说,地址空间是公用的,所以线程之间的通信是更加方便的。但是要处理一下同步和异步的区别。