同步异步阻塞非阻塞io 在JavaScript中,是否存在“同步非阻塞”和“异步阻塞”这两种情况?
浏览量:2792
时间:2021-03-14 18:59:49
作者:admin
在JavaScript中,是否存在“同步非阻塞”和“异步阻塞”这两种情况?
首先,JS是单线程的,没有多线程自然没有同步异步之说。只要是执行JS代码,必然是同步的。JS所谓的同步和异步,和C及JAVA里的线程异步不是同一个概念,只用在JS执行线程使用AJAX和网络资源处理线程之间切换时是否等待。如果采用同步请求,则在请求完成之前,JS线程会一直挂起等待,必然是阻塞的。使用异步请求,则JS线程会在发起网络请求后继续向下执行。这个阻塞也是在实现引擎的C和C 层面来说的,而非针对JS本身。用户从JS层面真正能够直观体会到"阻塞",是在alert等弹出框显示时。浏览器内核本身并没有阻塞alert,而是在上层实现上去对它进行的阻塞。所以,我的答案是:negative
同步异步阻塞非阻塞io 阻塞io和非阻塞io区别 阻塞与非阻塞的区别
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。