相关疑难解决方法(0)

IOCP线程 - 澄清?

阅读本文后指出:

设备完成其作业后(IO操作) - 它通过中断通知CPU.

...... ......

但是,"完成"状态仅存在于操作系统级别; 该进程有自己的内存空间,必须通知

...... ......

由于库/ BCL使用标准的P/Invoke重叠I/O系统,因此它已经使用I/O完成端口(IOCP)注册了句柄,IOCP是线程池的一部分.

...... ......

因此,简单地借用 I/O线程池线程来执行APC,APC通知任务它已完成.

关于大胆的部分,我很有趣:

如果我理解正确,在IO操作完成后,它必须通知执行IO操作的实际进程.

问题#1:

这是否意味着它为每个完成的IO操作抓取一个新的线程池线程?或者这是一个专门的线程数?

问题2:

看着 :

for (int i=0;i<1000;i++)
    {
      PingAsync_NOT_AWAITED(i); //notice not awaited !
    }
Run Code Online (Sandbox Code Playgroud)

这是否意味着我将同时运行1000个IOCP线程池线程(某种类型),当它们全部完成时?

c# iocp async-await

12
推荐指数
3
解决办法
3653
查看次数

标签 统计

async-await ×1

c# ×1

iocp ×1