APP下载
报价宝  ›  综合  › 

开发者现可以在Chrome 70测试WebAssembly执行绪功能

报价宝 来源:baojiabao.com 发布时间:2019-01-18 12:34:00 10月10日更新
报价宝综合消息开发者现可以在Chrome 70测试WebAssembly执行绪功能

Chrome 70默默的开始测试多执行绪功能,Google已经在V8引擎中的WebAssembly引擎,加入支援执行绪必要的实作。想尝鲜的使用者可以在浏览器中的URL列输入chrome://flags,找到WebAssembly Threads Support的选项启用。

Mozilla之前发表了WebAssembly的发展情况,提到执行绪提案的支援已经几乎完成,但因为今年早些时候的Spectre漏洞,让Firefox关闭了支援执行绪关键部分SharedArrayBuffers,但这只是暂时的应对措施,当问题解决了,WebAssembly就能开始在Firefox中正式支援多执行绪。而Chrome 70版本则已经可以让开发者开始测试WebAssembly执行绪功能了。

WebAssembly支援用C++和其他程式语言编写的程式码在网页上执行,但相对于本机应用程序,缺少了强力的执行绪功能,而执行绪是支援平行运算的原语(Primitive),因此虽然大多数C和C++开发人员都熟悉执行绪管理标准API pthreads,但是只要放到浏览器上,却是无用武之地,在经过社群积极努力的实现执行绪功能后,终于让网页可以执行真正的多执行绪应用程序。

从2012年开始,Chrome 4也以Web Workers支援平行运算,但是Web Workers并不会互相分享可变资料,而是依赖讯息传递进行传递,事实上,Chrome为每一个Web Workers都分配了一个新的V8引擎称为Isolates,Isolates既不共享编译程式码也不共享JavaScript物件,因此也无法共享如pthreads的可变资料。

不过,现在到来的WebAssembly执行绪,可以共享相同WebAssembly内存,而共享内存的底层,则是透过SharedArrayBuffer完成的,SharedArrayBuffer是一个JavaScript原语,允许Workers之间共享单个ArrayBuffer的内容,每一个WebAssembly都在一个Web Worker中运作,由于他们分享WebAssembly内存,因此能像在本机平台一样运作。

而这代表使用WebAssembly执行绪的应用程序,负责管理存取共享内存,就像是传统多执行绪应用程序一样,有许多用C或C++撰写的现有程式码都使用pthreads,这些程式码现在已经可以编译成WebAssembly,并以真正的执行绪模式执行,允许更多核心同时处理相同的资料。

为此Google在V8引擎中已经为WebAssembly引擎的执行绪实作了必要的支援,想尝鲜的使用者有两个方法可以进行测试,其一是在浏览器中的URL列输入chrome://flags,找到WebAssembly Threads Support的选项启用,接着重新启动浏览器便能开始测试。

其二,开发者可以透过Origin Trial先行尝试新的网页功能,并让使用者一起参与测试,而这也能供Chrome开发团队收集到测试人员的回馈,从而改进新功能。

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 数码相机价格 手机价格 汽车价格 笔记本电脑价格 耳机价格