我在C中有一个问题? 是否有可能创建一个线程并在以后需要时调用线程函数? 可能在需要时使用thread_start例程。 否则,如果我使用pthread_create,将多次创建线程,并且必须小心处理。 请帮我。提前谢谢。
答案 0 :(得分:2)
您可以使用信号量,只需在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);
...