信号量:信号量semaphore的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程,值与相应资源的使用情况有关。
值S>=0:表示某资源的可用数;S<0:其绝对值表示阻塞队列中等待该资源的进程数。
P操作定义:S:=S-1讲信号量S的值减1,若S>=0,则执行P操作的进程继续执行。
若S<0,则置该进程为阻塞状态,并讲其插入阻塞队列中。
V操作定义:S:=S+1,将信号量S的值加1;若S>0,则执行V操作的进程继续执行,若S<=0,则从阻塞状态太唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!