JavaScript单线程模型

2019-01-18  本文已影响0人  爱讲鸡汤的油腻大叔

JavaScript单线程模型

单线程模型是指JavaScript只在一个线程上运行(该线程称为主线程),即JavaScript只能同时执行一个线程,其它线程在后面排队等待

JavaScript采用单线程模型的目的和优缺点

目的:为了简单

优点:不会发生堵塞,不会发生抢占资源的情况,无需加入锁机制

缺点:等待时间长,当有一个任务耗时长,后面的任务都必须等待

JavaScript“事件循环”

当CPU因为IO操作等而等待时间长,CPU会把当前等待中的任务挂起,先运行排在后面的任务,当IO操作等返回了结果,再继续执行挂起的任务

JavaScript同步任务/异步任务

同步任务:没有被JavaScript引擎挂起,在主线程上排队执行的任务。只有前一个任务完成,才能执行后一个任务

异步任务:被JavaScript引擎放一边,不进入主线程,而进入任务队列的任务(异步任务通过回调函数进入主线程)

上一篇下一篇

猜你喜欢

热点阅读