爱问知识人 爱问教育 医院库

关于pv操作的一道题

首页

关于pv操作的一道题

假定系统上有3个并发的进程read,move和print   共享缓冲器B1和B2。进程read负责从输入设备上读信息,每读出一个纪录后发它存放到缓冲器B1中。进程move冲缓冲器B1中取出一个纪录,加工后存入缓冲器B2。进程print将B2中的纪录 取出打印出。缓冲器B1和B2每次只能存放一个纪录。要求三个进程协调完成任务。使打印出来的与读入的纪录的个数。次序完全一样。请用pv操作写出它们的并发程序。

请带注释!谢谢!

提交回答
好评回答
  • 2007-04-12 22:24:59
    引入四个信号量B11,B12,B21,B22,初值分别是1,0,1,0
    read()
    {
    while(true)
    {
     P(B11)
     数据写入B1
     V(B12)
    }
    }
    move()
    {
    while(true)
    {
     P(B12)
    P(B21)
     数据从B1中移入B2中
    V(B22)
     V(B12)
    }
    }
    print()
    {
     P(B22)
     将数据从B2取走
     V(B21)
    }
    

    2007-04-12 22:24:59

类似问题

换一换
  • 职业教育 相关知识

  • 教育培训
  • 教育考试

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):