几个同步问题
2012-09-21 09:28
141 查看
计算机有许多与同步有关的问题。
1. 哲学家就餐问题
一种解法是某个时间内只有一个人进餐。另外一种好一点的解法是在拿起筷子之前先测试两边的筷子是否空闲,空闲的话就可以吃,否则等待(阻塞);放下筷子之后,提醒旁边饿的人可以吃了。这个解法需要一个信号量数组,跟踪哲学家当前的是否可进餐的状态。另外它限制某一个时刻只有一个人可以尝试拿起筷子,某一时刻只能有一个人放下筷子。
2. 读者-写者问题
有两个方向,一个是读者优先:如果已经有读者,这后进读者可一直用数据,只有没有读者的时候,写者才可以使用数据库;一个是写者优先:如果有写者进入,后进的读者需要等待写者操作完成。
3. 生产者-消费者问题
简单的使用信号量就可以解决。
4. 理发师问题
转化为生产者消费者问题。
1. 哲学家就餐问题
一种解法是某个时间内只有一个人进餐。另外一种好一点的解法是在拿起筷子之前先测试两边的筷子是否空闲,空闲的话就可以吃,否则等待(阻塞);放下筷子之后,提醒旁边饿的人可以吃了。这个解法需要一个信号量数组,跟踪哲学家当前的是否可进餐的状态。另外它限制某一个时刻只有一个人可以尝试拿起筷子,某一时刻只能有一个人放下筷子。
2. 读者-写者问题
有两个方向,一个是读者优先:如果已经有读者,这后进读者可一直用数据,只有没有读者的时候,写者才可以使用数据库;一个是写者优先:如果有写者进入,后进的读者需要等待写者操作完成。
3. 生产者-消费者问题
简单的使用信号量就可以解决。
4. 理发师问题
转化为生产者消费者问题。
相关文章推荐
- FileSystemWatcher 做文件同步几个问题
- 几个经典同步问题的思考
- java同步块的几个问题
- 操作系统中进程同步问题的几个经典问题与解答
- 进程同步问题的几个案例
- 关于同步的几个问题
- 时区问题导致windows时间同步后总是差几个小时
- iOS : Zbar几个经典问题的解决办法
- 微信网页开发碰到的几个问题
- OpenGL中关于视图要注意的几个问题
- Java与C通信要注意的几个问题
- Linux下MySql服务器启动以及数据库登陆的几个常见问题
- 手工设置paraview 的几个问题
- 几个经典递归问题(放苹果,红与黑,八皇后,木棍)
- 柱状图的几个小问题
- Cocopods安装与使用,顺带出的几个问题提一下
- [分享]微软BI专题-BI系统中财务领域的几个问题
- 关于支付宝接口整合的几个问题
- vc使用中的几个问题小结
- Mysql互为主从问题--日志同步数据不同步