9 种可重复使用得并行数据结构与算法目录 倒计数锁存 (Count d own Latch) ﻫ可重用旋转等待 (Sp in W a i t) 屏障 (Bar ri er) ﻫ堵塞队列 ﻫ受限缓冲区 (B o unded Bu ffer) T hin 事件 ﻫ无锁定 L IFO 堆栈 循环分块 ﻫ并行分拆 ﻫ总结 本专栏并未涉及很多公共语言运行库 (C LR) 功能得机制问题,而就是更多介绍了如何有效使用您手头所具有得工具
身为一名程序员,必须做出很多决策,而选择正确得数据结构与算法无疑就是最常见得,也就是最重要得决策之一
错误得选择可能导致程序无法运行,而大多数情况下,则决定了性能得好坏
鉴于并行编程通常旨在改进性能,并且要难于串行编程,因此所作得选择对您程序得成功就更为重要
在本专栏中,我们将介绍九种可重复使用得数据结构与算法,这些结构与算法就是许多并行程序所常用得,您应该能够轻松将它们应用到自己得 、NET 软件中
专栏中每个示例随附得代码都就是可用得,但尚未经过完全定型、测试与优化
这里列举得模式虽然并不详尽,但却代表了一些较为常见得模式
如您所见,很多示例都就是互为补充得
在开始前,我想还就是先介绍一些相关内容
Micro sof t® 、NE T F r a mework 提供了几个现有得并发基元
虽然我要为您讲解如何构建自己得基元,但实际上现有基元就是足以应付大多数情况得
我只就是想说某些可选得方案有时也就是有参考价值得
此外,了解这些技巧如何应用于实际操作也有助于加深您对并行编程得整体理解
在开始讲解前,我假定您对现有基元已经有了一个基本得了解
您也可以参阅《M S DN® 杂志》2 00 5 年 8 月版得文章“关于多线程应用程序:每个开发人员都应了解得内容”,以全面了解其概念
一、倒计数锁存 (C o u n tdown La tch)Se maph o