11 2008 档案

摘要: 1. 并发和并行:一个好的并发算法未必是一个好的并行算法2. 并发编程的2个设计要点:安全和性能,在多CPU环境下还要考虑可扩展性3. 安全性:    a. 最常见的方法是要求对象在任意时刻都应该满足一致的状态(不变约束)    b. 在某些无阻塞算法中,允许对象暂时处于不一致状态,但是应该在运行中检测并立刻修正它4. 影响安全的因素:原子性、可见性和指令顺...阅读全文
posted @ 2008-11-28 10:29 在路上的牛 阅读(148) | 评论 (0) 编辑
摘要: 在学习Java并发编程的时候看到了单例的讨论,发现CAS挺适应这个场合的,于是顺手写了个简单的,实现了延迟实例化和多线程安全,也算是无锁的一种用法吧:[代码]  阅读全文
posted @ 2008-11-24 18:59 在路上的牛 阅读(664) | 评论 (2) 编辑
摘要: 在多核时代,无锁编程是一种重要的并发编程方法,这里提供了一个C#实现的无锁并发队列,基于Michael-Scott算法。阅读全文
posted @ 2008-11-20 18:32 在路上的牛 阅读(3546) | 评论 (13) 编辑