1. 进程和线程的区别:
根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。
资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换回有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程有自己独立的运行栈和程序计数器,线程之间的切换开销更小。
包含关系:线程是进程的一部分。
内存分配:同一进程的线程共享本进程的地址空间和资源,而进程之间的空间和资源是相互独立的。
影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生印象,但是一个线程崩溃整个进程都会死掉,所以多进程要比多线程健壮。
执行关系:每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须已存在应用程序中。
<u>https://blog.csdn.net/ThinkWon/article/details/102021274</u>