ホームページ  >  に質問  >  本文

在html5中,多线程worker和异步ajax有什么区别?

在html5中,多线程worker和异步ajax有什么区别?

高洛峰高洛峰2717日前399

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 13:31:51

    多线程是属于并发范畴,而异步是数据请求方式的范畴,与同步相对。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:31:51

    同意楼上的解释。它们之间的区别大了,从具体使用场景来说,耗CPU的任务可以移到worker中处理,ajax主要是IO费时间,为了保证不让代码阻塞,所以异步处理,等数据到达时再通知程序。这是在html5中的变通方法,因为ajax是比较早实现的,而worker是比较新的一个概念,可以说worker的功能是覆盖ajax的,只是由于HTML的不断发展自然出现了这样的问题。
    在其它语言中,一般费时任务都放在其它线程中,以避免阻塞主线程。而不管它是费CPU还是费IO。
    总之,这都是HTML的错。你大可以把网络请求也放在worker中处理,但不幸的是,支持worker的浏览器并不多。

    返事
    0
  • キャンセル返事