gpt4 book ai didi

node.js - 什么是阻塞函数?

转载 作者:IT老高 更新时间:2023-10-28 23:23:53 26 4
gpt4 key购买 nike

什么是阻塞函数阻塞调用

这是我在提到 Node.js 或实时处理语言时反复看到的一个术语。

最佳答案

一个停止脚本执行直到结束的函数。

例如,如果我有一个用我的语言编写的用于写入文件的函数,如下所示:

fwrite(file, "Contents");
print("Wrote to file!");

print 语句只会在文件写入磁盘后执行。整个程序在这条指令上暂停。这对于足够小的写入并不明显,但想象一下我有一个巨大的 blob 要写入文件,这需要几秒钟:

fwrite(file, blob);
print("Wrote to file!");

print 语句只会在写入几秒钟后执行,而整个程序将在这段时间内停止。在 Node.js 中,这些工作是 异步 完成的,使用 事件回调。我们的例子会变成:

fwrite(file, blob, function() {
print("Wrote to file!");
});
print("Do other stuff");

其中第三个参数是文件写入后要调用的函数。位于 write 函数之后的 print 语句将在之后立即调用,无论文件是否已被写入。因此,如果我们要编写一个足够大的 blob,输出可能如下所示:

Do other stuff
Wrote to file!

这使得应用程序非常快速,因为您无需等待客户端消息、文件写入或其他。您可以继续以并行方式处理数据。这是 Node.js 的许多优势之一。

关于node.js - 什么是阻塞函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7407165/

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