写点什么

线程和进程有什么区别?

作者:InfoQ IT百科
  • 2022 年 4 月 24 日
  • 本文字数:338 字

    阅读完需:约 1 分钟

线程和进程有什么区别?


  1. 进程是资源的分配和调度的一个独立单元,而线程是 CPU 调度的基本单元。


  1. 同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。


  1. 进程的创建调用 fork 或者 vfork,而线程的创建调用 pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束。


  1. 线程是轻两级的进程,它的创建和销毁所需要的时间比进程小很多,所有操作系统中的执行功能都是创建线程去完成的。


  1. 线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源。


  1. 线程有自己的私有属性 TCB,线程 id,寄存器、硬件上下文,而进程也有自己的私有属性进程控制块 PCB,这些私有属性是不被共享的,用来标示一个进程或一个线程的标志。

用户头像

还未添加个人签名 2021.04.12 加入

还未添加个人简介

评论

发布
暂无评论
线程和进程有什么区别?_InfoQ IT百科_InfoQ写作社区