费了点劲终于把我的 Native Worker && Shared Native Worker 彻底完成了,做这个东西的目的是希望让 WebView 能够让JS自由操作子线程/多线程的能力,在H5标准里本来就已经有了 Web Worker && Shared Web Worker 的API,但非常可惜的是 Shared Web Worker 在移动端浏览器几乎都各种不支持,为了扩展我们 Hybrid WebView 内核能力于是动手准备自己实现 H5 的 Worker
在 JS API 的设计上几乎与H5标准保持一致,将子线程的JS代码通信给Native,来创建 Native Worker,会一起创建独立的执行线程与执行JS上下文,通信都是按着H5标准定义,通过异步在子线程JS与主线程JS之间进行数据传递。并且在支持 Shared Worker 可以实现多个窗口,多个WebView,共享同一个JS上下文与JS子线程,多个窗口只能通过自己的Port端口与Worker通信,当所有Worker链接的窗口都关闭后自动销毁Worker
在 JS API 的设计上几乎与H5标准保持一致,将子线程的JS代码通信给Native,来创建 Native Worker,会一起创建独立的执行线程与执行JS上下文,通信都是按着H5标准定义,通过异步在子线程JS与主线程JS之间进行数据传递。并且在支持 Shared Worker 可以实现多个窗口,多个WebView,共享同一个JS上下文与JS子线程,多个窗口只能通过自己的Port端口与Worker通信,当所有Worker链接的窗口都关闭后自动销毁Worker
展开
17
26