几个同步问题

计算机有许多与同步有关的问题。

1. 哲学家就餐问题

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

2. 读者-写者问题

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

3. 生产者-消费者问题

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

4. 理发师问题

转化为生产者消费者问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值