#include<stdio.h> #include<pthread.h> #include<semaphore.h> #include<unistd.h> sem_t mutex; int c = 0; void *thread(void *arg){ sem_wait(&mutex); printf("%d%d\n", c, c); c++; sem_post(&mutex); sleep(1); } int main(){ while(1){ sem_init(&mutex, 0, 1); pthread_t t1, t2; pthread_create(&t1, NULL, thread, NULL); sleep(1); pthread_create(&t2, NULL, thread, NULL); pthread_join(t1, NULL); pthread_join(t2, NULL); sem_destroy(&mutex); } return 0; }
Post a Comment