线程与进程的区别
进程与线程的区别
进程的概念
进程就是正在运行的的程序,它拥有自己的虚拟地址空间、代码、数据和其他的系统资源,例如创建的文件、管道、同步的对象等。一个进程也包含一个或者多个运行在其进程内的线程。
进程是不活泼的,它必须有一个运行在它的地址空间的线程,此线程负责执行该进程地址空间的代码。 创建进程的过程就是应用程序启动过程,操作系统将通过createProcess()函数创建,系统接着为进程创建一个主线程,这个主线程通过执行 C++/C 运行器启动代码开始创建初始化静态变量与函数,C++/C运行启动期间又会调用main 函数。如果系统能够创建新的进程与主线程,CreateProcess 就会返回TRUE,否者就会返回False.
线程的概念
线程就是进程执行代码的实体,同一进程内的线程是可以共享进程的资源,如全局变量等;
线程也可以拥有自己的私有栈用于保存数据。 一个线程也可以创建其他子线程。
区别
线程是进程的执行单元,一个进程至少拥有一个线程,没有线程的进程是没有意义的,会被系统回收释放。 创建进程的同时,也创建了主线程,主线程进入 main() 执行代码。 线程必须要运行在进程的地址空间内。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具