我有一种情况,我创建一个线程池,每次创建一个线程时,该函数将从其中调用。
这是功能签名: callback_function(int a,int b,int c);
pool = g_thread_pool_new(callback_function, &user_data, -1, NULL);
g_thread_pool_push(pool, ¶meter, NULL);
现在我可以有一个包含3 int的结构并从g_thread_pool_push传递它们,并且会有“user_data”,它也将被传递给需要更改函数签名的函数。
无论如何使用多个参数实现回调而不更改功能签名?传递给函数的所有参数都是线程本地的。