參考資訊:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_cond_timedwait.html
https://stackoverflow.com/questions/16522858/understanding-of-pthread-cond-wait-and-pthread-cond-signal
main.c
#include <stdio.h> #include <unistd.h> #include <pthread.h> pthread_cond_t cond = PTHREAD_COND_INITIALIZER; pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; void* thread_handler(void *arg) { pthread_mutex_lock(&lock); pthread_cond_wait(&cond, &lock); pthread_mutex_unlock(&lock); return NULL; } int main(int argc, char *argv[]) { pthread_t tid = { 0 }; pthread_create(&tid, NULL, thread_handler, NULL); sleep(1); pthread_cond_signal(&cond); pthread_join(tid, NULL); return 0; }