C glib中是否有从线程池连接线程的函数?

C glib中是否有从线程池连接线程的函数?,c,multithreading,threadpool,glib,C,Multithreading,Threadpool,Glib,这是示例程序 #include<glib.h> void call_me(gpointer data, gpointer user_data) { g_usleep(1); g_print("I am called!\n"); } int main(int argc, char *argv[]) { GThreadPool* th_pool = g_thread_pool_new((GFunc)call_me, NULL, 200, TRU

这是示例程序

#include<glib.h>
void call_me(gpointer data, gpointer user_data)
{
    g_usleep(1);
    g_print("I am called!\n");
}
int main(int argc, char *argv[])
{
    GThreadPool* th_pool = g_thread_pool_new((GFunc)call_me, NULL, 200, TRUE, NULL);
    for(int i = 0; i < 10; ++i){
        g_thread_pool_push(th_pool, (void*)10, NULL);
    }
    return 0;
}
#包括
无效呼叫(gpointer数据、gpointer用户数据)
{
g_usleep(1);
g_print(“我被叫!\n”);
}
int main(int argc,char*argv[])
{
GThreadPool*th_pool=g_thread_pool_new((GFunc)call_me,NULL,200,TRUE,NULL);
对于(int i=0;i<10;++i){
g_线程_池_推送(th_池,(void*)10,空);
}
返回0;
}
我认为解决方案是在线程池中加入线程,因为问题是主线程在所有线程得到时间之前返回。但是,我在Glib中找不到一个函数。如果有其他解决问题的方法,请突出显示它们好吗?

请致电。它将等待所有挂起的任务完成运行,然后释放
GThreadPool
使用的内存