Leong's blog Leong's blog
首页
  • 编程
  • 资源
  • Golang
  • 微服务
  • vue
  • 操作系统
  • 数据结构与算法
  • Linux
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Leong Y

跑起来吧
首页
  • 编程
  • 资源
  • Golang
  • 微服务
  • vue
  • 操作系统
  • 数据结构与算法
  • Linux
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 堆和栈
  • 进程空间
  • 进程、线程、协程
    • 进程
    • 线程
    • 协程
  • 程序从加载到运行的过程
  • 操作系统
leong
2024-07-08
目录

进程、线程、协程

# 进程

进程是操作系统中运行的一个程序的实例,是资源分配和管理的基本单位。每个进程有自己独立的地址空间、数据、文件句柄等系统资源。

特点:

  • 独立性:每个进程都有独立的地址空间,一个进程的崩溃不会影响其他进程
  • 开销大:进程的创建、销毁和切换开销较大,因为需要分配和管理独立的资源
  • 通信复杂:进程之间的通信需要通过进程通信(IPC)机制,如管道、消息队列、共享内存等,较为复杂

# 线程

线程是进程中的一个执行单元,是CPU调度的基本单位。一个进程可以包含多个线程,它们共享进程的资源(如内存地址空间、文件句柄等)。

特点:

  • 共享资源:同一进程内的多个线程共享进程资源,这使得线程之间的通信较为简单,但也带来了同步和互斥问题
  • 开销小:线程的创建、销毁和切换开销相对较小,因为线程共享进程资源
  • 并发执行:多线程可以在多核处理器上并发执行,提高程序的执行效率

# 协程

协程是一种比线程更加轻量级的执行单元,也称为用户态线程。协程通过程序自身的控制来实现调度,而不是依赖操作系统的内核调度。

特点:

  • 轻量级:协程的创建和切换开销非常小,因为它们不需要操作系统的内核调度。
上次更新: 2024/07/08, 18:44:07
进程空间
程序从加载到运行的过程

← 进程空间 程序从加载到运行的过程→

最近更新
01
vue3快速上手
07-31
02
程序从加载到运行的过程
07-08
03
进程空间
07-08
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Leong Y | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式