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

2025-06-19 10:40:14

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

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

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

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

…。

为什么web worker可以在前端开多线程,解决单线程卡死页面的问题,但是没有得到广泛使用?
广告位810*200
相关阅读
Swift 和同时代的其他语言比起来怎么样?

Swift 和同时代的其他语言比起来怎么样?

我觉得Swift最强的是无缝集成C,制作完XCFramewo...

2025-06-23
obsidian用一两年后会有多大?全文搜索还快吗?

obsidian用一两年后会有多大?全文搜索还快吗?

用内存虚拟化方案就可以了。 因为 Obsidian 对于 ....

2025-06-23
网传《碟中谍 8》亏损可能超 14 亿,是真的吗?这背后的原因是什么?

网传《碟中谍 8》亏损可能超 14 亿,是真的吗?这背后的原因是什么?

《碟中谍8》的问题应该是多方共同导致的结果一、7和8分成上下...

2025-06-22
以色列为什么突然敢打伊朗了?不怕被报复?

以色列为什么突然敢打伊朗了?不怕被报复?

唉,说真话,没人听, 以色列打哈马斯,或许大家都可以骂以色列...

2025-06-23
怎么判断一个人是否聪明?

怎么判断一个人是否聪明?

不能说绝对啊,但算是一个大概率的观察视角。 就是看:这个人...

2025-06-23