CreateTimerQueue() 线程从何而来

CreateTimerQueue() Where do the thread come from?

本文关键字:线程 CreateTimerQueue      更新时间:2023-10-16

我即将使用CreateTimerQueue(),但想对一些问题进行一些澄清。

文档http://msdn.microsoft.com/en-us/library/windows/desktop/ms682485(v=vs.85).aspx

例http://msdn.microsoft.com/en-GB/库/窗口/桌面/MS687003(v=vs.85).aspx

上面的链接表明提供给 CreateTimerQueue() 的回调函数在单独的线程中运行,但是这个线程从何而来?是否每次调用回调函数时创建和销毁它?还是在某个地方有一个由 O/S 管理的线程池?我以前从未使用过线程池,但我认为我必须自己实现一个线程池并根据需要将任务发送到每个线程,这显然是不正确的。

链接到好文章会很好,与 Linux 等价物进行比较也会很好。

谢谢

如您链接到的文档中所述,回调默认发生在工作线程中:

WT_EXECUTEDEFAULT 0x00000000 默认情况下,回调函数排队到非 I/O 工作线程。

有关工作线程的详细信息,请参阅 MSDN 页线程池。