写出读者-写者问题:写者优先的同步程序。 条件:1)多个读者可以同时进行读。2)写者必须互斥(只允许一个写者写,也不能读者写者同时进行)。3)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者)。
答:readeri()(i=1,2,..,n) { while(1) { wait(s); wait(sn); signal(s); ….. 读文件; …… signal(sn) } } Writerj()(j=1,2,…,k) { while(1) { wait(s); for( i=1;i<=n;i++) wait(sn); ……. 写文件; ……. for( i=1;i<=n;i++) signal(sn); signal(s) } }
举一反三
- 关于读者-写者问题,下列说法正确的是( )。 A: 允许多个读者同时读,不允许多个写者同时写,也不允许读者与写者同时访问 B: 允许多个读者同时读,也允许多个写者同时写,但不允许读者与写者同时访问 C: 允许多个写者同时写,不允许多个读者同时读,也不允许读者与写者同时访问 D: 即不允许多个读者同时读,也不允许多个写者同时写,更不允许读者与写者同时访问
- 在读者优先的读者写者问题中,写者可以进入写的前提必须包括()。 A: 没有读者在读 B: 没有写者在写 C: 有读者阻塞 D: 没有写者在等
- 在读者优先的读者写者问题中,写者可以进入写的前提必须包括()。
- 在读者优先的读者写者问题中,读者可以进入读的前提是()。 A: 没有读者和写者在读写 B: 有读者在读 C: 有写者在写 D: 有写者在等
- 读者优先的读者写者问题中,写者可以进入写的前提条件是()。 A: 没有读者在读 B: 没有写者在写 C: 既没有读者在读,也没有写者在写 D: 其它
内容
- 0
读者优先的读者写者问题中,写者可以进入写的前提条件是()。
- 1
在读者写者问题中,不允许多个读者同时读,也不允许读者、写者同时读写。
- 2
在读者写者问题中,下列()情形读者可以进入缓冲区读。 A: 有读者在等待 B: 无读者读,且无写者写 C: 有写者等,但有其它读者在读 D: 有写者写
- 3
在读者写者问题中,读者可以进入缓冲区读的条件是( )。 A: 有读者在等待 B: 有写者写 C: 有写者等,但有其它读者在读 D: 无读者、写者在读写
- 4
在读者写者问题中,读者可以进入缓冲区读的条件是()。 A: 有读者在等待 B: 无读者、写者在读写 C: 有写者等,但有其它读者在读 D: 有写者写