gpt4 book ai didi

c# - 如果没有 IO 线程来处理异步结果会怎样?

转载 作者:太空狗 更新时间:2023-10-29 18:34:43 26 4
gpt4 key购买 nike

我想知道当没有 IO 线程来处理异步调用的结果时会发生什么。

假设您发出一个异步 Web 请求(在服务器应用程序中,所有异步代码都由线程池处理)。当有结果时,操作系统会发出信号,当结果出现时,您将需要一个 IO 线程从套接字读取字节。如果没有可用的 IO 线程,因为它们都在使用中(都意味着达到线程池设置的最大值)会发生什么?是否有一个队列可以让信号等待直到有线程可用?还是信号只是闻所未闻?如果发生后者,等待 await 的代码会怎样?

最佳答案

除非您限制了线程池,否则它将根据需要创建新的 I/O 线程。信号在称为 I/O Completion Port (IOCP) 的类似队列的结构中等待。直到它被取回;信号不会丢失。

关于c# - 如果没有 IO 线程来处理异步结果会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39053762/

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