高并发和高性能系统中进程、线程、协程、队列的详解,以及各运行模式的对比_慕课手记
进程process 线程 thread 协程goroutine
操作系统分为操作与资源两部分,操作就是方法,资源就是硬盘资源,合称为操作系统。
因为是一个系统,任务很多很繁杂,所以根据软件不同进行分解,一个软件就是一小块,就是进程。
进程
比喻:进程就是应用程序的启动实例,一个软件一个进程,
例如我们运行一个游戏,打开一个软件,就是开启了一个进程。
启动一个软件会把此进程代码注入到cpu的寄存器中,CPU就可以操作该软件的资源
不共享资源
线程
线程从属于进程, 是程序执行流的最小单元 ,是被cpu调度和分派的基本单位
没有自己的资源,只拥有自己的栈空间,一个线程需要512k空间
可以与同进程的其他线程共享资源。
协程
协程是比线程更加轻量级的存在。一个线程可拥有多个协程,全是由程序就是我们自己所控制
开辟一个协程大概需要5k空间
切换成本小
参考
进程、线程和协程之间的区别和联系_~青萍之末~的博客-CSDN博客_进程线程协程的区别
线程 、进程、协程 三者区别_疯狂爱码士的博客-CSDN博客_协程和线程