如何为完成端口创建多个线程?
How to create multiple threads for the completion port?
多个线程可以使用 GetQueuedCompletionStatus()
函数使来自单个完成端口的完成数据包出队。是否有创建这些线程的特殊函数?或者我只是使用 CreateThread()
或 _beginthreadex()
并根据需要创建尽可能多的线程?
在给定 IOCP 上调用 GetQueuedCompletionStatus()
的线程没有什么特别之处。任何线程都可以做到。因此,您可以使用通常的线程创建函数来创建 "I/O threads"。一般来说,最好使用 _beginthreadex()
,除非您正在为不支持它的平台编写代码或者您没有与 CRT 链接。
多个线程可以使用 GetQueuedCompletionStatus()
函数使来自单个完成端口的完成数据包出队。是否有创建这些线程的特殊函数?或者我只是使用 CreateThread()
或 _beginthreadex()
并根据需要创建尽可能多的线程?
在给定 IOCP 上调用 GetQueuedCompletionStatus()
的线程没有什么特别之处。任何线程都可以做到。因此,您可以使用通常的线程创建函数来创建 "I/O threads"。一般来说,最好使用 _beginthreadex()
,除非您正在为不支持它的平台编写代码或者您没有与 CRT 链接。