84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
在html5中,多线程worker和异步ajax有什么区别?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
多线程是属于并发范畴,而异步是数据请求方式的范畴,与同步相对。
同意楼上的解释。它们之间的区别大了,从具体使用场景来说,耗CPU的任务可以移到worker中处理,ajax主要是IO费时间,为了保证不让代码阻塞,所以异步处理,等数据到达时再通知程序。这是在html5中的变通方法,因为ajax是比较早实现的,而worker是比较新的一个概念,可以说worker的功能是覆盖ajax的,只是由于HTML的不断发展自然出现了这样的问题。在其它语言中,一般费时任务都放在其它线程中,以避免阻塞主线程。而不管它是费CPU还是费IO。总之,这都是HTML的错。你大可以把网络请求也放在worker中处理,但不幸的是,支持worker的浏览器并不多。
多线程是属于并发范畴,而异步是数据请求方式的范畴,与同步相对。
同意楼上的解释。它们之间的区别大了,从具体使用场景来说,耗CPU的任务可以移到worker中处理,ajax主要是IO费时间,为了保证不让代码阻塞,所以异步处理,等数据到达时再通知程序。这是在html5中的变通方法,因为ajax是比较早实现的,而worker是比较新的一个概念,可以说worker的功能是覆盖ajax的,只是由于HTML的不断发展自然出现了这样的问题。
在其它语言中,一般费时任务都放在其它线程中,以避免阻塞主线程。而不管它是费CPU还是费IO。
总之,这都是HTML的错。你大可以把网络请求也放在worker中处理,但不幸的是,支持worker的浏览器并不多。