运行事件循环的线程永远不会继续执行



我试图从pthread内运行事件循环,但我遇到了一个问题,我似乎无法谷歌修复。基本上,它看起来像这样:

event_thread = pthread_create(&event_thread, NULL, 
  (void *) g_main_loop_run, (void *) event_loop);
printf("GOT HEREn");

pthread_create下面的消息永远不会打印,是否有一种方法可以"触发并忘记"一个线程?

嗯,我一发布这个就明白了,下面是我最后做的:

pthread_attr_t attr;
...
pthread_attr_init(&thread_attr);
pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
event_thread = pthread_create(&event_thread, &thread_attr, 
    (void *) g_main_loop_run, (void *) event_loop);

你只需要设置线程状态为"detached"

最新更新