12 2008 档案

摘要: 不变对象是指对象的状态在构造后不可改变。这从根本上消除了线程间同步的需求,与锁或者阻塞策略不同的是,不变对象对运行时和设计时不会带来任何额外的开销,因此不变对象是多线程编程中一个很基本的策略。阅读全文
posted @ 2008-12-02 10:13 在路上的牛 阅读(1573) | 评论 (3) 编辑
摘要: 在多线程编程中,安全是我们考虑的最重要的因素。通常程序员都会使用锁来满足安全要求,但是只用锁并不能写出良好的多线程代码,因此我们有必要更深入一点,对线程安全策略进行更加全面的了解。首先谈谈影响线程安全的因素:影响线程安全的因素有三个因素影响到了多线程下的安全性:原子性、可见性和指令顺序 一个原子操作是单独的、不可分割的。但是高级语言中的大多数语句,包括一些简单的读写语句,都不具有原子性,最常见的例...阅读全文
posted @ 2008-12-01 18:51 在路上的牛 阅读(1606) | 评论 (10) 编辑