进程和线程的区别(简要总结)

welcome to my blog

进程Process 线程Thread
进程和进程之间是独立的 线程和线程之间共享内存
创建进程耗时长 创建线程耗时短
进程消耗资源多 线程消耗资源少
终止进程速度慢 中止线程速度快
在不同的进程之间切换耗时长 在不同的线程之间切换耗时短
进程在通信方面效率低 线程在通信方面效率高
进程是操作系统资源分配的基本单位 线程是任务调度和执行的基本单位

进程

  1. 执行着的程序叫作进程
  2. 一些操作系统使用"任务"表示某个程序正在执行
  3. 进程总是在主内存中
  4. 进程也是一个活动实体
  5. 一个程序可能会和多个进程有联系
  6. 在多进程系统中可以实现并行处理
  7. 在单进程系统中只能实现并发处理, 也就是通过进程调度算法决定某一时刻执行哪个进程, 让我们以为是同时执行
    举例来说: 打开多个"画图"程序, 每个程序都表示一个进程, 这也体现出"一个程序可能会和多个进程有联系"

线程

  1. 线程是进程的子集; 没有进程就没有线程!
  2. 线程也叫作轻量级进程, 因为线程和进程都能实现多任务, 但是线程是在某个进程中运行的, 并且多个线程共享其依托的进程的资源
  3. 进程中至少有一个线程, 那就是主线程
  4. 进程中也可以有多个线程
  5. 同一个进程中的所有线程共享地址空间, 文件描述符, 栈等其他和进程相关的属性
  6. 由于多个进程共享内存, 所以要对共享变量进行同步, 也就是加锁

你可能感兴趣的:(随笔)