1. 线程和进程的定义
- 进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。
- 线程是进程的一个执行路径,一个进程中至少有一个线程。线程是CPU资源分配的基本单位。进程中的多个线程共享进程的堆和方法区资源,但是每个线程有自己的程序计数器和栈区域。
2. 线程和进程的区别?
- 进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
- 进程之间的切换会有较大的开销,线程可以看做轻量级的进程,线程的切换和调度远远小于进程。
- 系统在运行的时候会为每个进程分配不同的内存空间,而同一个进程的多个线程之间只能共享内存资源。
3. 为什么线程比进程资源调度快(线程调度使用的是相同的资源,进程调度使用的是不同的资源)
- 进程之间的切换会有较大的开销,线程可以看做轻量级的进程,线程的切换和调度远远小于进程。
- 每个进程有独立的的内存空间,而同一个进程的多个线程之间共享内存资源,所以调度快一些。