一个进程中包含很多线程,进程有自己的内存地址和内存空间,而线程是没有的。
线程之间可以进行共享一个进程的内存空间和地址空间以及系统资源,而进程与进程之间不能进行共享,进程之间的通信,我们通常称之为IPC,是比较消耗资源的。
进程不需要独立的地址空间,创建起来比较简单方便,上下文切换也比进程廉价。
线程之间共享的数据在某一时刻只允许一个进程修改,而进程之间不相互共享数据。
一个线程可以做进程可以做的所有的事情,因为一个进程包含多个线程,因此我们可以认为线程是一个轻量级的进程,线程通常用来完成一些小任务,而进程通常完成一些重量级的任务。