soulJF999 / dailyRecord

1 stars 0 forks source link

记录细小第三十六 #36

Open soulJF999 opened 3 years ago

soulJF999 commented 3 years ago

事件循环是Node.js处理非阻塞IO操作的机制——尽管javascript是单线程处理的——当有可能的时候,它们会把操作转移到系统内核中 既然目前大多数内核都是多线程的,它们可在后台处理多种操作。当其中的一个操作完成后,内核通知Nodejs将适合的回调函数添加到轮询队列中等待时机执行 事件循环机制阶段:timers->pending callbacks->idle,prepare->poll->check->close callbacks 阶段概述:定时器、待定回调、idle,prepare、轮询、检测、关闭的回调函数 setImmediate设计为一旦在当前轮询阶段完成,则执行脚本 setTimeout在最小阈值后运行脚本 如果setImmediate是在I/O周期内被调度的,那它将会在任何的计时器之前执行,跟这里有多少个计时器无关 process.nextTick在同一个阶段立即执行,setImmediate在事件循环接下来的迭代或‘tick’上触发