如何评价腾讯元宝桌面端使用 Rust 的 Tauri 框架?
如何看待 Rust 写的 PNG 解码器比 C 实现更快?
罗马仕宣布召回超 49 万台充电宝,极端场景下可能有燃烧风险,有多危险?为何有安全隐患的产品能够上市?
多个充电宝或电芯品牌的 3C 认证证书被暂停,涉及罗马仕、安克、绿联、倍思、安普瑞斯等,发生了什么?
如何看待苹果公司撤下“说服父母给你买一台 Mac”的广告***,上线仅一天?
对于一般用户来说,日常娱乐选择2K显示器还是4K显示器好?如何选才能不后悔?

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

发布日期:2025-06-21 11:20:12 浏览次数:0

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

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

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

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

…。

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