🌗 技術筆記:Theseus:將 Win32 轉譯為 WebAssembly
➤ 在瀏覽器中讓 Win32 應用程式「阻塞」的奧祕
https://neugierig.org/software/blog/2026/05/theseus-wasm.html
作者在此文章中分享了其 Win32/x86 模擬器 Theseus 的最新進展,它現在能將 .exe 檔案轉譯為 WebAssembly 並在網頁上執行。主要的技術挑戰在於如何讓原本會阻塞的 Win32 API 呼叫在不能阻塞主執行緒的瀏覽器環境中運作。解決方案是將模擬器執行緒放入 Web Workers,並巧妙地運用 JavaScript 的 `Atomics` API 與共享記憶體,讓 Worker 執行緒能夠阻塞等待主執行緒處理瀏覽器事件。這不僅實現了同步邏輯在 Worker 端的執行,也達成了零複製的數據傳輸,顯著提升開發體驗與效能。然而,此方法引入了 Rust 在 WebAssembly 環境中對 Atomi
#WebAssembly #Win32模擬器 #瀏覽器技術 #多執行緒 #Rust #Atomics API
Tech Notes: Theseus: translating win32 to wasm

Notes on targeting Theseus to the web.