gorden曹的地盘

 

2011年8月21日

现实中的多线程

正文内容加载中...

posted @ 2011-08-21 09:54 Raffaele曹 阅读(493) 评论(0) 推荐(0) 编辑

2011年8月5日

现实中的多线程(一)

摘要: 理论如何转化为实践?在我其他的blog里我讨论了各种方式来实现并发,其中就包括基于所有权的类型系统.现在我面临一项任务:将这些方法应用到现实的软件产品Code Co-op中.客户要求添加更多的并发性,从而使Code Co-op的dispatcher(分发器)部分响应更迅速.因为使用的语言是C++(译者注:就是说没有”基于所有权的类型系统”),所以实现的时候需要遵守严格的纪律而不能依赖类型系统.如果可能,我还是喜欢用消息传递技术(message passing),但是,由于性能的原因,我发现自己经常被迫使用锁来操作共享状态(shared state). 我将在下面讨论message passin 阅读全文

posted @ 2011-08-05 00:34 Raffaele曹 阅读(399) 评论(0) 推荐(0) 编辑

2011年7月30日

C++ 原子操作和内存模型

摘要: 最近有一个困扰我的问题:如何使C++的原子变量高效而且可移植? 我知道Java volatile是怎么工作的——它强制实行顺序一致性(sequential consistency),但是这个方法并不总是效率最高的。 C++0x原子变量在默认模式下也一样强制实施顺序一致性。如果没有特别的顺序注记(annotation),它们和Java volatile几乎一模一样(有趣的是,Java的volatile并不强制原子性——尽管有个atomic library来实现这一点)。 但是C++可以在不同程度上放松顺序一致性的限制,如果使用得当的话,将会产生效率更高的代码。 在学习了一些x86的内存模型的知识 阅读全文

posted @ 2011-07-30 22:21 Raffaele曹 阅读(3016) 评论(2) 推荐(0) 编辑

导航