进程和线程
简单来说 进程(Process)> 线程(Thread)> 协程(Coroutine)。
进程是操作系统进行资源分配的基本单位,每个进程都有自己的独立内存空间。一个进程可以有多个线程。
线程又叫做轻量级进程,是8 T处理器任务调度和执行的基本单位。
协程又称微线程,是一种用户态的轻量级线程,协程的调度完全由用户控制(也就是在用户态执行)。
对于操作系统来说,一个任务就是一个进程(Process)。比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。
有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,进程内的这些“子任务”称为线程(Thread)。
线程有四种基本状态,分别为:
产生(spawn)
线程被创建或启动,进入产生状态。
在这个状态下,线程已经被创建并准备好运行,但还没有被调度执行。
阻塞(block):
线程在执行过程中遇到某些条件,无法继续执行,进入阻塞状态。
阻塞状态的线程会暂停执行,直到满足某个条件或等待某个事件发生。
非阻塞(unblock)
当处于阻塞状态的线程满足了所等待的条件或事件发生时,它可以从阻塞状态切换到非阻塞状态。
非阻塞状态表示线程可以继续执行。
结束(finish):
当线程完成了其任务或由于某种原因终止时,它进入结束状态。
结束状态表示线程的执行已经结束,不再可执行。
Last updated