一、什么是线程和进程?
- 线程也叫做轻量级进程。多个线程可以在同一个进程中同时执行,并且共享进程的资源如内存空间、网络连接等
- 进程对应计算机中正在运行的一个程序实例
二、线程和进程有什么区别?
- 一个进程包含多个线程
- 进程之间互相独立,线程之间相互影响
- 线程是更小的运行单位,执行开销小,但也不利于资源的管理;进程则相反
- 线程是操作系统调度的基本单位,进程是操作系统资源分配的基本单位
- …
三、Q&A
1、什么是协程?
协程也就是协作的程序,也叫做轻量级线程。
线程虽然轻量,但是会带来资源竞争和锁竞争等问题,导致CPU不能被充分利用。所以为了避免这种情况,我们可以用异步的方式代替同步的方式来解决,也就是协程。
协程相比线程的话不是通过操作系统竞争的方式去决定调用哪些线程,而是由用户自己去决定如何去执行逻辑。它可以让我们按照逻辑流的顺序去写控制流,而且也不会导致操作系统层面的线程阻塞(协程状态由用户层面维护,所以上下文切换也由用户层面维护)。