gpt4 book ai didi

javascript - JS 是否在操作系统级别使用非阻塞 I/O 来支持 AJAX?

转载 作者:行者123 更新时间:2023-11-29 15:01:12 25 4
gpt4 key购买 nike

如果 Javascript 是单线程进程而 AJAX 是异步的,那么它是如何发生的呢?那么在操作系统级别,JS 引擎不是为 Ajax 进行非阻塞 I/O 调用吗?

最佳答案

是的,浏览器引擎正在为 Ajax 进行非阻塞 I/O 调用(当您执行非阻塞 ajax 调用时)。

浏览器可以通过多种不同的方式实现 ajax 网络。我们唯一确定的是 ajax i/o 请求没有阻塞 javascript 线程。而且,每个浏览器都可以自由地以不同方式实现它,只要它们不阻塞 JS 执行线程和在 ajax 调用期间保持浏览器功能所需的任何其他线程。

在幕后,在浏览器内部,它可以使用一个单独的操作系统线程在该线程上以阻塞方式运行 ajax 调用,它可以在一个单独的线程上使用非阻塞 i/o,它可以是在 javascript 解释器线程上使用非阻塞 i/o(可能不太可能,但可能)。它甚至可以使用单独的进程来管理使用 IPC 的网络操作,以便在它们之间进行通信。它选择哪个完全取决于浏览器实现,因为任何这些方法都将允许 javascript 解释器在 ajax 网络异步发生时继续运行。也有可能不同的浏览器有一些不同的实现。

例如,Chrome 为每个浏览器窗口使用一个单独的进程,而其他浏览器则没有。

关于javascript - JS 是否在操作系统级别使用非阻塞 I/O 来支持 AJAX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9998433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com