进程、线程、协程、并发、并行 概念介绍
2020-02-13 本文已影响0人
码二哥
1、进程/线程
1.1、进程
是程序在操作系统
中的一次执行过程,系统进行资源分配和调度的一个独立
单位。
1.2、线程
是进程的一个执行实体,是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。
一个进程可以创建
和撤销
多个线程,同一个
进程中的多个线程
之间可以并发
执行。
2、并发/并行
2.1、并发
多线程程序在单
核心的 cpu 上运行,称为并发
;
2.2、并行
多线程程序在多
核心的 cpu 上运行,称为并行
。
2.3、并发
与并行
区别?
并发与并行并不
相同,
并发
主要由切换时间片
来实现“同时”运行,
并行
则是直接利用多核
实现多线程的运行,Go程序可以设置使用核心数,以发挥多核计算机的能力。
2.4、上下文
并发
意味着程序
在运行时
有多个
执行上下文,对应着多个
调用栈
3、协程/线程
3.1、协程
协程:独立
的栈
空间,共享堆
空间,调度
由用户自己
控制,本质上有点类似于用户级
线程,这些用户级线程的调度也是自己实现的。
3.2、线程
线程:一个线程上可以跑多个协程,协程是轻量级的线程。