将多个参数传递给g_thread_pool_new / g_thread_pool_push中的回调函数

时间:2012-02-20 21:51:53

标签: c multithreading gcc threadpool glib

我有一种情况,我创建一个线程池,每次创建一个线程时,该函数将从其中调用。

这是功能签名:     callback_function(int a,int b,int c);

pool = g_thread_pool_new(callback_function, &user_data, -1, NULL);
g_thread_pool_push(pool, &parameter, NULL);

现在我可以有一个包含3 int的结构并从g_thread_pool_push传递它们,并且会有“user_data”,它也将被传递给需要更改函数签名的函数。

无论如何使用多个参数实现回调而不更改功能签名?传递给函数的所有参数都是线程本地的。

0 个答案:

没有答案