12 2016 档案

摘要://此文基于《Java并发编程实践》 我们都知道在应用程序中合理地使用缓存,能更快的访问我们之前的计算结果,从而提高吞吐量。例如Redis和Memcached基于内存的数据存储系统等。此篇文章介绍如何实现简单缓存。 首先定义一个Computable接口A是输入,V是输出。 实现这个接口,也即是在Ex 阅读全文
posted @ 2016-12-25 20:32 OKevin 阅读(2422) 评论(0) 推荐(0) 编辑
摘要:栅栏CyclicBarrier和闭锁CountDownLatch类似,可以说它们都是用来计数,都能阻塞一组线程知道某个事件发生。不同的是闭锁用于等待事件,而栅栏用于等待其他线程。 在前一篇《CountDownLatch——闭锁的实现之一》中提到,在CountDownLatch里有一个计数器,一个线程 阅读全文
posted @ 2016-12-19 23:26 OKevin 编辑
摘要:关于多线程,我们接触对多的,最基础,入门的可能就是实现Runnable接口继承Thead类,因为Java单继承的原因,通常建议是实现Runnable接口。但这种“简单”的线程会带来一个问题,写过的人都知道,不管是实现Runnable还是继承Thread类,他们都是实现public void run( 阅读全文
posted @ 2016-12-18 01:46 OKevin 阅读(1202) 评论(0) 推荐(0) 编辑
摘要:CountDownLatch实际上是一种闭锁实现。闭锁:是一种同步工具类,可以延迟线程的进度直到其到达终止状态——《Java并发编程实战》。这个怎么解释呢?简单来说,就是有1个线程需要等待其余10个线程都执行完毕后再执行,这个时候就可以使用闭锁,也即CountDownLatch(当然闭锁的实现并不止 阅读全文
posted @ 2016-12-15 00:01 OKevin 阅读(1043) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示