进程与线程对比/进程与线程的区别

1. 功能对比

  • 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ
  • 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口

2. 定义对比

  • 进程是系统进行资源分配基本单位,每启动一个进程操作系统都需要为其分配运行资源。
  • 线程是运行程序中的一个执行分支,是CPU调度基本单位。
  • 总结:进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位

3. 关系对比

  • 线程是依附在进程里面的,没有进程就没有线程
  • 一个进程默认提供一条线程,进程可以创建多个线程

4. 区别

  • 进程之间不共享全局变量
  • 线程之间共享全局变量,但是要注意资源竞争的问题,解决办法: 互斥锁或者线程同步
  • 创建进程的资源开销要比创建线程的资源开销要大
  • 进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位
  • 线程不能够独立执行,必须依存在进程中
  • 多进程开发比单进程多线程开发稳定性要强

优缺点

多进程:

  • 优点:可以用多核
  • 缺点:资源开销大

多线程:

  • 优点:资源开销小
  • 缺点:不能使用多核
原文地址:https://www.cnblogs.com/lab-zj/p/12166278.html