CreateTimerQueue()线程来自哪里?

时间:2014-11-19 19:17:35

标签: c++ winapi

我即将使用CreateTimerQueue(),但想要澄清一些观点。

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

实施例 http://msdn.microsoft.com/en-gb/library/windows/desktop/ms687003(v=vs.85).aspx

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

与好的文章的链接会很好,就像linux等价物的比较一样。

由于

1 个答案:

答案 0 :(得分:0)

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

  

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

有关工作线程的详细信息,请参阅MSDN页面Thread Pools