一种可并发读写的队列实现
来源:互联网 发布:从数据库读取图片软件 编辑:程序博客网 时间:2024/04/29 05:44
http://developer.symbian.org/wiki/index.php/Category:Platform_Opening
symbian开源代码下载
写算法时头脑要清晰,在头脑中高速抽象分析,一般都会用循环或递归思想来完成。
1 定义规则;
2 确定边界条件;
3 每一步的具体操作和细节注意;
例如:C实现循环队列
分析如下:
肯定有循环操作,要考虑队列空或者满,还有越边界等情况,要迅速准确完成程序必须定义规则,无规矩无以成方圆。
1 head和tail两个标量的定义:
存放数据时:head 指向当前为空且即将写入数据的节点,写完后自加加;
提取数据时;tail 指向已弹出数据的节点,将下一节点的数据提取后自加加;
2 边界条件:
队列为空时,提取操作需判断tail下一节点是否为head。若是,则违背了head指向当前为空的节点的规则
队列为满时,存放操作需判断head是否等于tail,若等于这违背了tail指向已弹出数据的节点的规则;
3 操作细节:
存放数据或提取时,保证上一次操作后的标量下一次操作前有效,下一次无需判断即可。
或者每次操作前判断数据操作越界与否,如果还有其他判断则推荐使用上者。
具体实现如下:
归入正题:实现可读写并发,需要满足一个写线程在执行至pushQue函数内任意语句时发生线程切换,切换至另一读线程调用popQue函数运行,然后恢复至原线程pushQue运行,队列内部不发生错误。循环单链表实现。
用熟一个好的IDE是多么的重要啊!
- 一种可并发读写的队列实现
- 一种读写可并发进行的队列的实现方法
- 一种并发队列的设计
- 一种无锁的并发读写机制
- Linux 的并发可管理工作队列机制
- 双队列的一种实现
- 优先级队列的一种实现
- 双队列的一种实现
- 优先队列的一种实现
- 左倾堆(一种可高效合并的优先队列)
- 一种可展开伸缩的tableView实现
- 一种简单线程并发控制的实现
- 一种简单无锁队列的实现
- 队列的一种实现(数组)
- Linux 的并发可管理工作队列机制探讨
- Linux 的并发可管理工作队列机制探讨
- Linux 的并发可管理工作队列机制探讨
- Linux 的并发可管理工作队列机制探讨
- 先考察下这个博客,再决定是否搬家
- IBM WebSphere MQ监控
- MySQL监控
- 网络设备监控
- hpux群集中共享VG二次配置的方法
- 一种可并发读写的队列实现
- jquery验证控件在VS2008MVC项目中失效的解决方法
- 转: 走出软件作坊的秘密 ----- 初入项目管理领域的人适合看看
- JavaEE——基于Servlet的会话跟踪(一)
- 老衲法号帅哥
- 做设计的值得思考
- 2009总结
- 如何让jquery.Autocomplete支持提示(参数说明)
- 水晶报表