
concurrency
airu
这个作者很懒,什么都没留下…
展开
-
java concurrency
并发编程是一个趋势。多核的出现,使得并发编程越来越重要。这里对于多核处理器来说,如果跑单一线程的程序,那么利用率是很低的。多线程正好成了人们压榨计算机的利器。多线程是好的,可是,多线程也引入了一些复杂的东西。比如说同步。记得在学操作系统的时候,就学过类似的东西,对临界资源的访问,PV操作啊什么的。万变不离其宗,多线程编程也同样如此。java多线程实现是很简单的,大家也都知道sync...2012-11-01 23:01:21 · 154 阅读 · 0 评论 -
java-concurrency 之 JMM
自从JSR-133在jdk5中完善后,java的并发能力大大提升。我们可以使用concurrent包来完成很多线程工作,而不用处理线程所带来的复杂性。这里要说的自然是JMM。这是JSR-133中描述的,并且在jdk1.5后得到完善。如果抛开JMM谈java并发,就显得毫无底气了。因为JSR-133正是为了线程才针对JMM的规范。如果你了解计算机的缓存机制,其实JMM很好理解。为了使...2012-11-02 11:31:18 · 113 阅读 · 0 评论 -
CountDownLatch 理解
Latch 在英文中是门阀的意思。也就是控制门的开关的关键。所以,Latch在并发中,就是控制线程访问的。《JCP》中列举了几点用途:1,等待资源初始化。2,等待依赖服务启动。3,等待队友加入活动。具体的Latch有 CountDownLatch,如果只是说功能什么的,还是比较疑惑。CountDownLatch 的功能就是初始化一个值,每次调用countDown方法时这...2012-11-26 14:20:26 · 131 阅读 · 0 评论 -
并发与缓存——读《JCP》
缓存方法在我们编程中经常遇到。例如一个通过很复杂计算的值,但是一旦计算以后,就不再变化,我们可以用缓存存放。最简单的写法如下:[code="java"]Object value = null;if ( (value = cache.get(key)) == null ) { value = compteValue(key); }cache.put(key, value...2012-11-26 20:57:42 · 114 阅读 · 0 评论