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

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

阅读 2.4k
3 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题