- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 多线程编程的设计模式 临界区模式(一)
多线程编程的设计模式 临界区模式(一)临界区模式 Critical Section Pattern 是指在一个共享范围中只让一个线程执行的模式.它是所有其它多线程设计模式的基础,所以我首先来介绍它.把着眼点放在范围上,这个模式叫临界区模式,如果把作眼点放在执行的线程上,这个模式就叫单线程执行模式.首先我们来玩一个钻山洞的游戏,我 Axman,朋友 Sager,同事 Pentium4.三个人在八角游
2006-08-28 08:01:00 3654 3
原创 Java 多线程编程中的设计模式 开篇
什么是模式?有太多的介绍模式的书,似乎用不着我再来给模式下一个定义.正如什么是道?除了老子有权解释,其他任何试图向别人解释什么是道的人,其实根本就不懂道!更别说什么初论,再论,三论,x论,末流之论也.你不论说明你还懂一些,如果你论,说明你根本就不懂道.因为老子已经说得非常清楚:道可道,非常道!那么我们是否已经陷入了不可知论?非也.不可道之道,是真正的大道.大道虽然无形,但每个人对它的感受是有形有
2006-08-23 10:00:00 4823 5
原创 多线程编程 深入理解JMM
深入理解JMM的重点JMM具体规定要JLS的 "Thread and lock"一章中,可以说这是一章非常晦涩的一个规范,要想完全把它理解清楚,一般的辛苦是不行的.那是要"相当的~~~"的辛苦.而要把它向别人再解释清楚,那简直就是恶梦.作者自知无力能全面清楚地向大家说明这一章的内容,但以作者的经验,主要从以下两个方面去理解可以改快地抓住本质.而不至于陷入"Thread and lock"的
2006-08-19 20:47:00 3679 1
原创 多线程编程 深入理解DCL的安全性
对于双检锁,其实有多种不同的用法,有很多种用法是无论如何不会出现问题的.我最初用双检锁来获取jndi对象时,立即有人告诉我双检锁是不安全的,我笑着告诉他:是否安全我比你更有把握.static DataSource ds = null;public static DataSource getDataSource(){ if(ds == null){ synchronized(XXX.class)
2006-08-17 16:10:00 4365 2
原创 多线程编程 深入理解线程对象和线程
深入理解线程对象和线程让我们先以C++来说明,然后我们转到JAVA上来,因为c++对对象的销毁更直接一些:到目前为止,C++还没有直接支持多线程,意思是说多线程不是C++标准库,这也是JAVA程序员对于多线程编程比C++程序更精通一些(这是普通来说的,你不要拿一个C++多线程高手和普通的JAVA程序员比),因为JAVA程序从一开始就接收了多线程的思想并不断地训练.目前最有可能被下一代C++
2006-08-15 10:18:00 3383
原创 多线程编程 实战篇秘籍 (二)
volatile 变量volatile 是用来保证[内存同步]的关键字,内存同步是说在某个线程中修改某实例字段能够及时地更新到主存储区,而某线程如果需要引用该字段也能及时地从主存储区中得到最新的数据.简单说它是当前线程的工作存储区和主存储区对某字段的及时同步,所以我们说它是[内存同步],但它不是线程同步.也就是说,一个线程对 volatile字段进行更新时,它只会把更新后的值及时地同步到主存储区,
2006-08-14 14:34:00 3478 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人