多线程
文章平均质量分 95
皮斯特劳沃
目前在一家大型互联网公司工作,担任JAVA高级开发工程师,主要负责手机APP服务器端相关开发和研发。平时喜欢学习和钻研技术,对算法、代码重构、设计模型有所学习和了解。目前正在学习RPC和WebService等相关分布式技术。
展开
-
ReentrantLock—Condition源码解读
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/1050312591、前言Condition实现关键:等待队列。等待队列是一个FIFO的队列,队列中每个节点包含一个线程引用,该线程就是在Conditon对象上等待的线程。一个Con...原创 2020-03-22 18:04:42 · 559 阅读 · 0 评论 -
线程池(ThreadPoolExecutor)工作原理解读
几种常见线程池:newScheduledThreadPool创建一个定长线程池,支持定时及周期性任务执行,可以作一个定时器使用。newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过需要的线程数量,可灵活回收空闲线程,若无可回收,则新建线程。newSingleThreadExecutor创建一个单线程的线程池,它只会用唯一的工作线程来执行任务,...原创 2020-03-15 18:18:03 · 575 阅读 · 0 评论 -
线程安全锁代码实现
手动实现了一个线程安全的锁,希望对你有所帮助。import sun.misc.Unsafe;import java.util.concurrent.ConcurrentLinkedQueue;import java.util.concurrent.locks.LockSupport;public class MyLock { private static final Un...原创 2020-03-14 18:39:54 · 302 阅读 · 0 评论 -
读写锁(ReentrantReadWriteLock)源码解读
读写锁允许同一时刻被多个读线程访问,但是在写线程访问时,所有的读线程和其他的写线程都会被阻塞。ReentrantReadWriteLock特性:公平性选择:支持非公平性(默认)和公平的锁获取方式,吞吐量还是非公平优于公平;重入性:支持重入,读锁获取后能再次获取,写锁获取之后能够再次获取写锁,同时也能够获取读锁;锁降级:遵循获取写锁,获取读锁再释放写锁的次序,写锁能够降级成为读锁...原创 2020-03-14 18:22:37 · 347 阅读 · 0 评论 -
基于AsyncRestTemplate异步HTTP请求的一种轻量级技术实现
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/51428562Ⅰ、前言 在上一篇博客中讲述ListenableFuture通过异步回调机制来实现请求的非阻塞。通常情况下,客户端获取数据并不会只发送一次http请求,可能会有多个http请求。这样,使用上一篇博客中的方法,就会产生大量的冗余代码原创 2016-05-16 21:50:52 · 30802 阅读 · 2 评论 -
从Java future 到 Guava ListenableFuture实现异步调用
本文是在学习中的总结,欢迎转载但请注明出处:前言 随着移动互联网的蓬勃发展,手机App层出不穷,其业务也随之变得错综复杂。针对于开发人员来说,可能之前的一个业务只需要调取一次第三方接口以获取数据,而如今随着需求的增加,该业务需调取多个不同的第三方接口。通常,我们处理方法是让代码同步顺序的去调取这些接口。显然,调取接口数量的增加必然会造成响应时间的增加,势必会对系统性能造成一定影响。原创 2016-04-24 09:11:14 · 28568 阅读 · 3 评论 -
Guava Futures异步回调机制源码解析
1、前言 在前两篇文章中简单阐述了Java Future 和Guava ListenableFuture及其相关的应用。我们发现Guava ListenableFuture提供了比Java Future更加强大的功能,而在Google Guava并发包中,某些情况下,Futures这个类起到了不可或缺的作用,而ListenableFuture实现非阻塞的原理是其提供了回调机制原创 2016-06-25 13:59:35 · 12997 阅读 · 2 评论 -
Reactor(反应器)模式初探
前言 本文针对Reactor模式从四个方面进行了阐述,首先简单介绍了Reactor模式是什么;其次,阐述了为什么使用Reactor模式;再次,针对实际生活的应用场景,分析了在什么场景下使用Reactor模式;最后,着重分析讲解了如何使用Reactor模式,以及代码示例。1、What:Reactor模式是什么? 反应器设计模式(Reactor原创 2016-11-13 22:04:15 · 26186 阅读 · 1 评论