WebAssembly 的多线程能力建立在 JavaScript 的 SharedArrayBuffer 之上,多个 WebAssembly 线程可以共享同一块内存区域,实现真正并行的计算。浏览器通过相关的跨源隔离策略保障共享内存的安全使用。
在 Rust 等语言中,开发者可以使用 rayon 等并行库,以并行迭代器的方式处理大规模数据集,编译器会将其映射为底层的 WebAssembly 多线程指令。例如对一千万个数求和,使用 4 个线程相比单线程可获得数倍的加速。
在核心规范 3.0 中,线程相关的内建能力(threading built-ins)被纳入标准化工作,配合共享内存与原子操作,使 WebAssembly 能够更自然地表达并发程序,而不再完全依赖宿主环境的线程模拟。