2006年08月
临界区模式 Critical Section Pattern 是指在一个共享范围中只让一个线程执行的模式.
它是所有其它多线程设计模式的基础,所以我首先来介绍它.阅读全文>
发表于 @ 2006年08月28日 08:01:00|评论(loading...)|编辑
模式就是在某种特定环境中,经常多次发生的问题的通用解决方案.
环境,或说背景,用Java术语说是Context.
问题里面还包含可以解决问题的外力条件(force),多个外力条件常常表现为"鱼与熊掌"的关系.
尽管目前真正介绍模式的书并不多,但在可见的介绍模式的书中,可以看到多数就是一本
模式词典.设计模式中真正的知识在于模式语言.
模式语言是模式的集合,集合的意思是集而合之,不是聚合.
把多个相关的,相互作用的模式集而合之,并清楚地描述它们之间的关系.就是模式语言.
阅读全文>
发表于 @ 2006年08月23日 10:00:00|评论(loading...)|编辑
1.多个线程共有的字段应该用synchronized或volatile来保护.
2.synchronized负责线程间的互斥.即同一时候只有一个线程可以执行synchronized中的代码.
3.volatile负责线程中的变量与主存储区同步.但不负责每个线程之间的同步.阅读全文>
发表于 @ 2006年08月19日 20:47:00|评论(loading...)|编辑
不要一看到双检锁就认为它有安全问题.有些时候它完全可以非常好地工作.只是你要理解它的安全
问题到底在哪儿?
阅读全文>
发表于 @ 2006年08月17日 16:10:00|评论(loading...)|编辑
一个线程对象,在开始运行的时候(JAVA
中从调用线程对象的start(),ZThread中构造函数完成后会直接启动),就将当前线程所要执行的任务
及相关上下文注册到线程处理系统内.线程对象只是向这个处理系统注册的句柄,注册后如何执行线程
对象要完成的操作那就由线程处理系统来统一管理了阅读全文>
发表于 @ 2006年08月15日 10:18:00|评论(loading...)|编辑
volatile 是用来保证[内存同步]的关键字,内存同步是说在某个线程中修改某实例字段能够及时地
更新到主存储区,而某线程如果需要引用该字段也能及时地从主存储区中得到最新的数据.阅读全文>
发表于 @ 2006年08月14日 14:34:00|评论(loading...)|编辑