您的位置:首页 > 其它

几个同步问题

2012-09-21 09:28 141 查看
计算机有许多与同步有关的问题。

1. 哲学家就餐问题

一种解法是某个时间内只有一个人进餐。另外一种好一点的解法是在拿起筷子之前先测试两边的筷子是否空闲,空闲的话就可以吃,否则等待(阻塞);放下筷子之后,提醒旁边饿的人可以吃了。这个解法需要一个信号量数组,跟踪哲学家当前的是否可进餐的状态。另外它限制某一个时刻只有一个人可以尝试拿起筷子,某一时刻只能有一个人放下筷子。

2. 读者-写者问题

有两个方向,一个是读者优先:如果已经有读者,这后进读者可一直用数据,只有没有读者的时候,写者才可以使用数据库;一个是写者优先:如果有写者进入,后进的读者需要等待写者操作完成。

3. 生产者-消费者问题

简单的使用信号量就可以解决。

4. 理发师问题

转化为生产者消费者问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: