在semctl(sm_id,0,SETVAl,5)中,为什么信号量个数为0,不是至少有一个信号量才能对信号量赋值吗?
还有就是在在实现P原语的Psem(int sem_id)中:
int Psem(int sem_id)
{
struct sembuf sem_b;
sem_b.sem_num = 0;
sem_b.sem_op = -1;
sem_b.flg = SEM_UNDO;
if(semop(sem_id,&sem_b,1) == -1)
{
fprintf(stderr,"P failed!");
return 0;
}
return 1;
}
为什么将要处理的信号量个数为0 ?不是应该为'1'吗?
hml1006 于 2011-04-07 15:16:54发表:
还没仔细学习过
hml1006 于 2011-04-07 15:16:42发表:
还没仔细学习过
way1112 于 2011-04-07 12:46:09发表:
不是0个,是数组下标0
API 于 2011-04-02 12:09:08发表:
等回复。。。。。。