# 计算机的进程和线程的理解

本质: 进程和线程都是一个时间段的描述,是CPU工作时间段的描述,不过是颗粒大小不同。进程是由操作系统分配,管理的,一个进程包含着多个线程,线程可以由开发者自己的程序分配

由于历史原因,JavaScript本身是单线程语言(Worker API可以实现多线程,但是本身始终是单线程)

区别:

  1. 进程是运行中的程序,进程间互相独立(比如同时开始QQ,迅雷),线程是进程的内部的一个执行序列,同一线程的个线程间共享(比如QQ传输文字,下载文件),某进程内线程对于其他进程不可见
  2. 进程间切换代价大,线程间切换代价小,多个线程共享进程的资源

参考链接: https://www.zhihu.com/question/25532384