线程和进程之间的区别

  • 进程是一个正在执行的程序实例。每个进程都有自己独立的
    • 地址空间、全局变量、堆栈、和文件描述符等资源。
  • 线程是进程中的一个执行单元。一个进程可以包含多个线程,
    • 它们共享进程的地址空间和资源。

  • 每个进程在独立的地址空间中运行,不会直接影响其他进程。
  • 线程共享同一个进程的内存空间、全局变量和文件描述符。

  • 进程切换需要保存和恢复大量的上下文信息,代价较高。
  • 线程切换相对较轻量,因为线程共享进程的地址空间,只需要保存和恢复线程私有的数据。

线程的生命周期由进程控制,进程终止时,其所有线程也会终止。


特性 进程 线程
地址空间 独立 共享
内存开销
上下文切换 慢,开销大 快,开销小
通信 需要 IPC 机制,开销较大 共享内存,直接通信
创建销毁 开销大,较慢 开销小,较快
并发性
崩溃影响 一个进程崩溃不会影响其他进程 一个线程崩溃可能导致整个进程崩溃
posted @ 2025-04-25 12:23  kuki'  阅读(18)  评论(0)    收藏  举报