JS是一门单线程语言

也就是说,同一段时间只能做一件事,前一件事情做完了,才做下一件事情。

1. 为什么JS是一门单线程的语言呢?

同步和异步

同步:同一时间只有一个任务再执行,前一个任务执行完,才能执行后一个任务。 ==>  串联
异步:可以同时执行多个任务,可以提高程序的性能。   ==>  并联

2. 线程和进程

进程 process ==> 可以理解为正在运行着的程序 线程 thread ==> 程序中的一个执行单元或执行路径。

在一个程序中,可能会有多个线程同时执行不同的任务.

eg1.

如果把 进程 ⇒  火车,那么线程就是 ⇒ 一节一节的车厢 

eg2.

进程  ⇒  一个正在生产着运行着的工厂,    线程   =⇒   是工厂里的工人。 
在工厂中,不同的工人可以同时处理不同的任务,而且工人之间可以相互协作,共同完成整个生产过程。

eg3.

Untitled