linux posix信号量使用疑问
首先用一个进程创建信号量,初始值设置为1,两个进程使用这个信号量访问共享资源:
// Create semaphoresem_t * sem;sem = sem_open( SEM_NAME, OPEN_FLAG, OPEN_MODE, 1 );if( SEM_FAILED == sem ){ fprintf(stdout, "ERROR: Create semaphore...\n"); exit(0);}sem_t * sem = sem_open(SEM_NAME, 0);if(sem != SEM_FAILED){ sem_wait(sem);}// some operationsem_post(sem);usleep(500000);sem_t * sem = sem_open(SEM_NAME, 0);if(sem != SEM_FAILED){ sem_wait(sem);}// some operationsem_post(sem);usleep(300000);