三类线程search、insert、delete共享(访问)单链表,利用P、V原语操作实现这三类线程。限定如下:(1)search可以与同类线程同时执行;(2)insert类线程之间互斥,但是可以与任意多search同时执行;(3)delete不但同类之间互斥,而且与其他类线程互斥。
【正确答案】正确答案:int searcher num=0,inserter num=0; semaphore search-switch=1; semaphore insert—switch=1; semaphore insert—mutex=1; semaphore delete mutex=1; semaphore no—searcher=1; semaphore no—inserter=1; search thread: { P(search-switch); if(++searcher_num=:1)
【答案解析】