如何知道CloseThreadPool()函数何时完成?

时间:2012-08-14 11:36:12

标签: multithreading

我是Sockets编程的新手,并通过了文档。

从我发现的关于CloseThreadPool()函数的文档:

CloseThreadpool函数。如果没有绑定到线程池的未完成回调对象,则会立即关闭线程池。如果有,则在释放这些未完成的对象时异步释放线程池。

此线程池本身位于一个线程中。我的主线程接受输入退出。如果输入exit,我将全局变量KEEP_LISTENEING设置为false。

我如何等待我的主线程停止/休眠直到这个函数真正在另一个线程中完成?

1 个答案:

答案 0 :(得分:0)

使用清理组wait for all callbacks。顺序是:

  1. CreateThreadpoolCleanupGroup()

  2. SetThreadpoolCallbackCleanupGroup(& CallbackEnvironment,pointerCleanup,...)

  3. CloseThreadpoolCleanupGroupMembers(,FALSE,)

  4. CloseThreadpoolCleanupGroup()