单线程与与线程优缺点

Posted 前端精髓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单线程与与线程优缺点相关的知识,希望对你有一定的参考价值。

单线程

Node保持了javascript在浏览器中单线程的特点。 而且在Node中,JavaScript与其余线程是无法共享任何状态的。单线程的最大好处是不用像多线程编程那样处处在意状态的同步问题,这里没有死锁的存在,也没有线程上下文交换所带来的性能上的开销。

同样,单线程也有它自身的弱点,这些弱点是学 习Node的过程中必须要面对的。积极面对这些弱 点,可以享受到Node带来的好处,也能避免潜在 的问题,使其得以高效利用。单线程的弱点具体 有以下3方面。

无法利用多核CPU。
错误会引起整个应用退出,应用的健壮性值得考验。
大量计算占用CPU导致无法继续调用异步I/O。

像浏览器中JavaScript与UI共用一个线程一样, JavaScript长时间执行会导致UI的渲染和响应被中 断。在Node中,长时间的CPU占用也会导致后续 的异步I/O发不出调用,已完成的异步I/O的回调 函数也会得不到及时执行。

以上是关于单线程与与线程优缺点的主要内容,如果未能解决你的问题,请参考以下文章

Redis是单线程还是多线程?Redis的10种数据类型,有哪些应用场景?

线程和线程池优缺点

设计模式---单例模式

多线程总结之旅:多线程的优缺点

为什么 Redis 选择单线程模型

线程进程概述