0
我在C中有个问题吗? 是否有可能在需要时创建线程并调用线程函数? 可能在需要时使用thread_start例程。 否则,如果我使用pthread_create,该线程将被多次创建并且必须谨慎处理。 请帮帮我。提前致谢。稍后调用线程函数
我在C中有个问题吗? 是否有可能在需要时创建线程并调用线程函数? 可能在需要时使用thread_start例程。 否则,如果我使用pthread_create,该线程将被多次创建并且必须谨慎处理。 请帮帮我。提前致谢。稍后调用线程函数
您可以使用信号灯,只是阻止线程函数中while循环:
while(1){
sem_wait(my_semaphore);
code_that_needs_to_be_done_in_thread;
}
..和当你需要你的线程,只是简单的表示它:
sem_post(my_semaphore);
...
other_code;
sem_post(my_semaphore);
...
请说明您的要求有点更清晰。否则,任何人只能回答这个问题的答案是“是的,很有可能” –
当然,只需编写线程等待工作,并在收到通知后进行工作。 –
跟随@DavidSchwartz评论,您可以使用条件变量并广播它,或者您可以等待I/O。您可以在循环的顶部执行此操作,以便在每次发送条件变量或I/O完成时处理数据或一大块工作。 – clearlight