linux信号量机制.docVIP

  • 96
  • 0
  • 约 14页
  • 2016-08-24 发布于河南
  • 举报
linux信号量机制

linux信号量机制(semaphore)/* File sem.c */ #include stdio.h #include pthread.h #include semaphore.h #define MAXSTACK 100 int stack[MAXSTACK][2]; int size=0; sem_t sem; /* 从文件1.dat读取数据,每读一次,信号量加一*/ void ReadData1(void){ FILE *fp=fopen(1.dat,r); while(!feof(fp)){ fscanf(fp,%d %d,stack[size][0],stack[size][1]); sem_post(sem); ++size; } fclose(fp); } /*从文件2.dat读取数据*/ void ReadData2(void){ FILE *fp=fopen(2.dat,r); while(!feof(fp)){ fscanf(fp,%d %d,stack[size][0],stack[size][1]); sem_post(sem); ++size; } fclose(fp); } /*阻塞等待缓冲区有数据,读取数据后,释放空间,继续等待*/ void HandleData1(void){ while(1){ sem_wait(sem); printf(

文档评论(0)

1亿VIP精品文档

相关文档