经典同步问题

读者写者问题

  有一个可以读写的文件,我们把读文件的进程当做“读者”,写文件的进程当做“写者”。写者和任何进程互斥;读的时候不允许写。 

  方案一:

  写进程:设置一个mutex _rw

  读进程:count 变量互斥访问;mutex_rw,当 count == 0,即第一个读进程读共享文件时,不让写进程读。

  但是这个方案中 读进程是优先的,写进程可能会别饿死。

  

  方案二:设置 mutex_w,无论读写都要申请这个互斥信号量,实现读写公平。

哲学家进餐问题

  怕出现死锁。

  解决方案:当且仅当两边都能获取到才可以真正拿起筷子。

       编号,计数哲学家先拿左边,偶数哲学家先拿右边。

 

posted @ 2020-05-04 17:42  天凉好个秋秋  阅读(115)  评论(0编辑  收藏  举报