信号同步
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <pthread.h>
#include <semaphore.h>
sem_t sem1;
sem_t sem2;
void* run(void* arg)
{
while(1)
{
sem_wait(&sem2);
printf("子线程\n");
sleep(1);
sem_post(&sem1);
}
}
int main(int argc, const char *argv[])
{
pthread_t id;
pthread_create(&id,NULL,run,NULL);
pthread_detach(id);
sem_init(&sem1,0,1);
sem_init(&sem2,0,0);
while(1)
{
sem_wait(&sem1);
printf("主线程\n");
sleep(1);
sem_post(&sem2);
}
return 0;
}