进程、线程、协程
goroutine {#goroutine-奉行通过通信来共享内存,而不是共享内存来通信。}
一、进程
1.定义
- 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。
- 一个独立的应用,程序运行起来,产生一个进程
- 进程是拥有资源和独立运行的最小单位,也是程序执行的最小单位
2.特点:
- 动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;
- 并发性:任何进程都可以同其他进行一起并发执行;
- 独立性:进程是系统进行资源分配和调度的一个独立单位;
- 结构性:进程由程序,数据和进程控制块三部分组成
二、线程
定义及特点
- 线程是调用CPU运算的最小单元
- 线程的调度由操作系统进行调度
- 一个进程可以有多个线程
三、协程
定义及特点
- 轻量级线程
- 协程的调度由用户控制
一个进程可以有多个线程,一个线程上可以跑多个协程
四、go中的并发
使用goroutine,是协程