多线程和多进程的区别

  1. 一个线程从属于一个进程;一个进程可以包含多个线程。
  2. 一个线程挂掉,对应的进程挂掉,多线程也挂掉;一个进程挂掉,不影响其它进程,多进程稳定。
  3. 进程系统开销显著大于线程开销;线程需要的系统资源更少。
  4. 多进程在执行时拥有各自独立的内存单元;多线程共享进程的内存,例如.text,.data,.bss和扩展段,但每个线程拥有自己的栈段和寄存器段。
  5. 多进程切换需要刷新TLB并获取新的地址空间,然后切换硬件上下文和内核栈;多线程切换只需要切换硬件上下文和内核栈。
  6. 通信方式不同。
  7. 多进程适用于多核,多机分布;多线程适用于多核。
posted @ 2023-03-01 16:27  yytarget  阅读(178)  评论(0编辑  收藏  举报