• 2021-04-14
    桌子上有一个可以装N个水果的果盘,爸爸往盘子中放水果(苹果或桔子),儿子从盘子中拿桔子,女儿从盘子中拿苹果,同一时间只能有一个人对水果盘进行操作。
    现在有3个进程,dad,daughter,son,使用信号量empty=N,orange=0,apple=0,mutex=1
    请用wait(empty), signal(empty) ,wait(orange) 等语句填空; 不要填分号,只填信号量操作即可
    Dad(){
    while(1){
    [填空1]
    [填空2] //果盘互斥
    将水果放入盘子;
    [填空3]
    if(放入的是桔子)
    [填空4] ;
    else
    [填空5]
    ;
    }
    }
    Son(){
    while(1){
    [填空6] ;
    [填空7] ;
    从盘子中取桔子;
    [填空8];
    [填空9] ;
    吃桔子
    }
    }
    Daughter(){
    while(1){
    [填空10] ;
    [填空11];
    从盘子中取苹果;
    [填空12];
    [填空13];
    吃苹果
    }
    }
  • 举一反三