我是 Sockets 编程和阅读文档的新手。
从我发现的有关 CloseThreadPool() 函数的文档中:
关闭线程池函数。如果没有未完成的回调对象绑定到线程池,则线程池将立即关闭。如果有,那么当这些未完成的对象被释放时,线程池将被异步释放。
该线程池位于线程本身中。我的主线程接受输入以退出。如果输入退出,我将全局变量 KEEP_LISTENEING 设置为 false。
我将如何等待我的主线程停止/休眠,直到这个函数在另一个线程中真正完成?
我是 Sockets 编程和阅读文档的新手。
从我发现的有关 CloseThreadPool() 函数的文档中:
关闭线程池函数。如果没有未完成的回调对象绑定到线程池,则线程池将立即关闭。如果有,那么当这些未完成的对象被释放时,线程池将被异步释放。
该线程池位于线程本身中。我的主线程接受输入以退出。如果输入退出,我将全局变量 KEEP_LISTENEING 设置为 false。
我将如何等待我的主线程停止/休眠,直到这个函数在另一个线程中真正完成?
使用清理组等待所有回调。顺序是:
CreateThreadpoolCleanupGroup()
SetThreadpoolCallbackCleanupGroup(&CallbackEnvironment, pointerCleanup, ...)
CloseThreadpoolCleanupGroupMembers(, FALSE, )
CloseThreadpoolCleanupGroup()