某数据库有 3个写进程writer,10个读进程reader,它们之间读写操作的互斥要求是: ( 1)写进程正在写该数据库时,不能有其他进程读写该数据库; ( 2)读进程之间不互斥,可以同时读该数据库; ( 3)如果有若干进程正在读该数据库,一个写进程正等待写,则随后欲读的进程也不能读该数据库,需等待写进程先写。 试使用记录型信号量控制上述功能的正确协作,在下面伪代码框架中补全缺少的代码。每个空白计 1分,共8分。 信号量 rw_mutex=空白1;// 读写数据库访问互斥 信号量 mutex=空白2;// 共享变量访问互斥 int read_count=0; // 同时读的计数 void writer() { while( true ) { P(空白3); 数据库写操作 V(rw_mutex ) } } void reader() { while( true ) { P(空白4); read_count++; if (read_count==1) P(空白5); V(空白6 ) 数据库读操作 P(空白7); read_count- -; if (read_count==0) V(空白8); V(mutex ) } } void main() { 创建 3个writer进程 创建 10个reader进程 其他处理 }