自学内容网 自学内容网

进程和线程的区别?

总的来说,进程是资源的容器,用来把资源集中到一起,而线程是在 CPU 上被实际调度的实体对象。

进程是资源分配的基本单位,进程中包括可执行的代码、打开的文件描述符、挂起的信号、进程的状态、内存地址空间、存放全局变量的数据段,以及一个或多个执行线程等。

线程是独立调度的基本单位。每个线程都拥有一个独立的程序计数器、线程堆栈和寄存器。

那么有了进程为什么还要有线程?

  • 在一个进程中会存在多种活动任务,如果只有一个调度来执行这些任务,那么当某个任务被阻塞时,其他任务将得不到执行,因此需要有多个独立调度的单元来使这些任务可以并行的执行,这些单元就是线程。
  • 线程比进程更轻量,它们比进程更快的创建,也更容易撤销。线程间切换的开销也比进程小,由于进程拥有大量的资源,当切换到另一个进程的时候,需要保存当前进程的所有资源,而线程间的切换只需要保存当前堆栈和少量寄存器的内容。

原文地址:https://blog.csdn.net/xy18990/article/details/137808839

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!