雷军说「烧开自来水绝对不能喝」,是真的吗?
伊朗发布「霍拉姆沙赫尔-4」导弹发射画面,被认为是伊朗破坏力最强导弹,其威力有多大?
哪张照片让你觉得刘亦菲美得不可方物?
鸿蒙丝滑的秘密是什么?
腾讯开源的 libco 号称千万级协程支持,那个共享栈模式原理是什么?
跟离异的女同事聊天时,她冒出一句:「你老婆还不如我,离了跟我过得了」,我该怎么回答?

为什么web worker可以在前端开多线程,解决单线程卡死页面的问题,但是没有得到广泛使用?

发布日期:2025-06-20 11:50:19 浏览次数:0

Worker本身的实现确实是繁琐的,尤其是 postMessage、onmessage这类线程间数据通信操作,就挺繁琐。

这个时候可以用谷歌的comlink库: comlink - npm comlink能用单线程操作的习惯来实现多线程操作,很赞。

(其原理是Proxy代理机制) 当然Vite也有适配: vite-plugin-comlink - npm 然后,解决完线程间通讯的麻烦事之后,还要面对一个坑。

就是Worker和Worker之间、Worker和主线程之间,无法实现复杂数据类型的传输(会丢类型)。

…。

为什么web worker可以在前端开多线程,解决单线程卡死页面的问题,但是没有得到广泛使用?