实验一 读写者问题.docVIP

  • 38
  • 0
  • 约6.36千字
  • 约 10页
  • 2016-12-30 发布于山西
  • 举报
实验 一、实验题目 模拟在Windows2000环境下,创建一个控制台,此包含n个线程。用这n个线程来表示n个读者或写者。每个线程按相应测试数据文件(后面有介绍)的要求进行读写操作。用信号量机制分别实现读者优先写者优先的读者-写者问题。 读者-写者问题的读写操作限制(包括读者优先和写者优先): 1)写-写互斥,即不能有两个写者同时进行写操作。 2)读-写互斥,即不能同时有一个线程在读,而另一个线程在写。, 3)读-读允许,即可以有一个或多个读者在读。 如果读者来: 无读者、写者,新读者可以读 有写者等待,但有其他读者正在读,新读者可以读 有写者写,新读者等 如果写者来: 无读者,新写者可以写 有读者,新写者等待 有其他写者,新写者等待 读者优先的附加限制:如果一个读者申请进行读操作时已有另一个读者正在进行读操作,则该读者可直接开始读操作。 写者优先的附加限制:如果一个读者申请进行读操作时已有另一写者在等待访问共享资源,则该读者必须等到没有写者处于等待状态后才能开始读操作。 读者: BEGIN P(mutex);//上锁,互斥其他读者,为了保证只有一个读者改变read_count read_count:=read_count+1; IF read_count=1 //第一个读者,则上写者的锁,保证读得时候不能让写者写 THEN P(writer) V(mutex); 读文件;

文档评论(0)

1亿VIP精品文档

相关文档