JS的单线程,其实指的是js主引擎线程的。除此之外还有定时器线程、异步http线程(ajax)等,最终通过Event Loop协调执行。
为了充分利用多核CPU,可以使用 worker_threads 实现多线程, child_process 或 cluster 实现多进程(master-worker模式)。
不同于浏览器中的 web worker ,nodejs中通过 worker_threads 实现多线程。通常在计算密集型场景中,才需要使用NodeJs多线程,因此使用场景较少。
electron中即经常使用该模块。
cluster 封装了 child_process.fork ,并内置了负载均衡,可有效实现多进程。
js如何保证时间精准不跳秒js如何保证时间精准不跳秒
1. 使用`window.performance.now()`方法来获取高精度的时间戳,它会返回当前时间和距离页面加载的时间的差值,可以保证精准到微妙级别。
2. 使用`setTimeout()`和`setInterval()`函数来定时调用,这样可以保证时间的精准性。
3. 使用`Date.now()`方法来获取当前时间戳,它可以保证精准到毫秒级别。