转载请注明作者和出处:https://www.jianshu.com/p/7f60dd5c2825
作者简介: 一个本该成为游戏职业选手却被编程耽误的程序员
首先明白一个概念,系统里是实际是cpu和寄存器,RAM之间的恩爱情仇,但是cpu运行的很快,很快,快到其他设备望尘莫及的地步,CPU是串联执行的,执行完A进程后挂机A进程,再去执行B进程
而线程就是因为进程的粒度太大了,需要分割开来,分割成线程,a1线程,a2线程等等,这就是线程
- 一个重要的概念:进程里的线程是共享进程里的临时环境的,所以线程是通过锁机制,信号量机制,信号机制等进行管理通信的,另外进程之间也是可以通信的忙不过不是在本文的所述范围内
- 什么是协程:协程本质上来讲就是一个函数,在线程执行期间,会有一些io阻塞(request请求,mysql查询等等),于是就有了协程的诞生,在io阻塞的时候,可以切换其他协程执行其他程序。
线程与进程的区别:
- 地址空间:线程是进程内的一个执行单元,进程内至少有一个线程,它们共享进程的地址空间,而进程有自己独立的地址空间
- 资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源3) 线程是处理器调度的基本单位,但进程不是