岁月流转,往昔空明

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
并发程序的范例来自于一片古老的论文<<concurrent programming concepts>>中的一个流处理过程的实例。尽管说并发从语言级别支持要更加容易的多,但是对于C++来说,现阶段编写并发的方式还是以Multithread为主。

程序逻辑很简单,读取一个整数(实质上为了方便我直接用的是程序生成,偷懒了,哈哈),然后并行处理。注意处理这一步一定是高度并发的,这里我为了简单起见使用了sleep的方式来模拟真实时耗,然后数据改变仅仅是在原数上乘以二,最后输出。

输入和输出考虑到通常他们都是序列化的情况选择了单线程的方式,实际上如果条件允许,输入输出也完全可以是并发的。

对于中间的sleep+2乘这一步,才是真正并发的。之所以用sleep,是因为它能等到一定的时间并在此期间基本上不占用CPU,有点类似于MPU的情况。所以拿它还能做出来一些挺有意思的数据来(YY下SMP ^_^)。

工程文件下载

注意记得将boost::thread的库文件的目录添加到附加库目录下。
只有boost源代码库没有二进制库的,可以访问这里下载boost::thread所需要的lib和dll。(VC++8.0使用)
如果想自己编译boost而又懒得去看E文的,可以看这里的编译教程。
posted on 2006-10-26 22:29 空明流转 阅读(1452) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理