线程与进程的区别

进程与线程的区别

进程的概念

进程就是正在运行的的程序,它拥有自己的虚拟地址空间、代码、数据和其他的系统资源,例如创建的文件、管道、同步的对象等。一个进程也包含一个或者多个运行在其进程内的线程。

  • 进程是不活泼的,它必须有一个运行在它的地址空间的线程,此线程负责执行该进程地址空间的代码。
  • 创建进程的过程就是应用程序启动过程,操作系统将通过createProcess()函数创建,系统接着为进程创建一个主线程,这个主线程通过执行 C++/C 运行器启动代码开始创建初始化静态变量与函数,C++/C运行启动期间又会调用main 函数。如果系统能够创建新的进程与主线程,CreateProcess 就会返回TRUE,否者就会返回False.

线程的概念

线程就是进程执行代码的实体,同一进程内的线程是可以共享进程的资源,如全局变量等;

  • 线程也可以拥有自己的私有栈用于保存数据。
  • 一个线程也可以创建其他子线程。

区别

  • 线程是进程的执行单元,一个进程至少拥有一个线程,没有线程的进程是没有意义的,会被系统回收释放。
  • 创建进程的同时,也创建了主线程,主线程进入 main() 执行代码。
  • 线程必须要运行在进程的地址空间内。
posted @ 2022-03-04 00:29  小陈晨  阅读(102)  评论(0编辑  收藏  举报