线程与进程的区别

根本区别:首先进程有两个基本属性,一个是他是拥有资源的独立单位另一个是可以独立调度和分派的基本单位,但由于进程是一个资源拥有者,所以进程在创建,调度和销毁时会有很大的开销,为了解决这个问题就有了线程的出现,把进程的两个基本属性分开,使得进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。这就是两者的根本区别。
包含关系:一个没有线程的进程可以看做是一个单线程,有多个线程的进程的执行过程不是一条线的,而是多条线共同执行。线程是进程的一部分。一个操作系统可以有多个进程,一个进程可以有多个线程
开销区别:线程可以看做轻量级的进程,同一个进程的所有线程共享资源,所以线程之间的切换等开销要比进程小
内存分配的区别:系统在运行时会给每个进程分配内存空间,而线程所使用的资源是来自其所属的进程的

原文地址:https://www.cnblogs.com/wl889490/p/12669563.html