请问为什么存在web worker,worker thread还说js是单线程?

这两个api分别能够在web上和node上开辟线程,但是为什么还说js是单线程呢?

阅读 2.5k
3 个回答

个人理解,有错误的地方还请大佬指出:web worker不是语言层面的实现,而是js运行时环境的实现,这里是浏览器,也有可能是node,就像node有child process可以实现子进程,但是你不能说js就不是单线程了,js的语言和js的运行时环境是区分开来的。

js语言设计出来是单线程的,后面为了解决这个问题才出现了 web worker 的api,不要本末倒置了。

单线程是语言层面,worker是实现。

推荐问题