0

我在 google 中搜索过,但找不到如何将自己的函数添加到 Threadpool。我有一个带有签名的功能void MyFunction(void *param);。我如何创建线程池并添加此函数以进行异步执行。我知道存在TrySubmitThreadpoolCallback()功能,但我不明白如何使用它。我会很高兴看到简单的例子。

4

1 回答 1

0

为了能够使用TrySubmitThreadpoolCallback,您应该将函数的签名更改为

void CALLBACK MyFunction( PTP_CALLBACK_INSTANCE Instance, void* Context );

然后你可以毫无问题地使用它。请记住,在 Windows 中,大多数回调应该CALLBACK在其定义中包含 ,因为 C 中的默认调用约定是,__cdecl但在 Windows API 中通常是__stdcall(阅读它CALLBACK)。

于 2012-10-20T08:42:59.050 回答