[30][30][单选]读者 - 写者经典模型的程序如下:
读者进程: while (true { P(mutex; read_counter = read_counter + 1; if (read_counter == 1 P(write; V(mutex; read(files; P(mutex; read_counter = read_counter - 1; if (read_counter == 0 V(write; V(mutex; } 写者进程: while (true { P(write; Write(files; V(write; } 若写者资源不断涌入,读者进程
正常运行
发生死锁
出现饥饿
出现错误
答案
正常运行
解析
读者和写者必须遵循如下的规定:①多个进程可以同时读文件;②在一个进程对文件进行写时,不允许其他进程对文件进行读和写;③当有进程正在读文件时不允许任何进程去写文件;写者和读者之间要互斥,写者与写者之间也要互斥,读者与读者之间可以同时进行。根据题意,写者资源不断涌入,读者可以正常运行,因为读者已经有先在权在读文件了,不会发生死锁。
转载请注明出处。