顾客银行办理业务时,首先在取号机上取号,然后坐在椅子上等候业务员叫号时前往窗口办理业务,假设银行现在有3个窗口可办理业务,请采用信号量和PV操作描述顾取号等候叫号和银行业务员叫号办理业务的同步操作。
1)首先识别哪些事务可以作为进程
顾客,业务员
2)其次识别临界资源,即进程共享的事务
取号机,椅子,顾客,业务员
3)定义数据结构
定义共享变量及私有变量
int number=0;//顾客计数器
定义代表临界资源的信号量
Semaphore getNum=1;//互斥改变顾客序号number
4)定义进程操作
4.1顾客操作进程:
顾客进入银行
取号机取号
顾客数增1
业务员叫号
<