1. 进程与协程
  • 进程 就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。
  • 线程 是进程的一个执行实例,是程序执行的最小单元,是系统进行资源分配和调度的最小单位。
  • 一个进程可以创建和销毁多个线程,同一个进程中的多个线程可以并发执行。
  • 一个程序至少有一个进程,一个进程至少有一个线程。
  1. 并发与并行
  • 多线程程序在单核上运行,就是并发
  • 多线程程序在多核上运行,就是并行
  1. go主线程和协程
  • go主线程 (有直接称 线程 /也有称 进程 ):一个go线程上,可以起多个协程。可以理解为:协程是轻量级的线程(编译器做优化)。
  1. go协程的特点
  • 有独立的栈空间
  • 共享程序堆空间
  • 调度由用户控制
  • 协程是轻量级的线程