У меня есть ситуация, когда я создаю пул потоков, и каждый раз, когда создается поток, функция будет вызываться из него.
Это сигнатура функции:
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", которая также будет передана функции, которая потребует изменения сигнатуры функции.
Есть ли способ выполнить обратный вызов с несколькими параметрами без изменения сигнатуры функции? Все параметры, передаваемые в функцию, являются локальными для потока.