多线程和多进程的区别
- 一个线程从属于一个进程;一个进程可以包含多个线程。
- 一个线程挂掉,对应的进程挂掉,多线程也挂掉;一个进程挂掉,不影响其它进程,多进程稳定。
- 进程系统开销显著大于线程开销;线程需要的系统资源更少。
- 多进程在执行时拥有各自独立的内存单元;多线程共享进程的内存,例如.text,.data,.bss和扩展段,但每个线程拥有自己的栈段和寄存器段。
- 多进程切换需要刷新TLB并获取新的地址空间,然后切换硬件上下文和内核栈;多线程切换只需要切换硬件上下文和内核栈。
- 通信方式不同。
- 多进程适用于多核,多机分布;多线程适用于多核。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律