多线程
文章平均质量分 74
来自火星的程序猿
这个作者很懒,什么都没留下…
展开
-
多线程(1)——ThreadLocal
ThreadLocal 是什么ThreadLocal是线程本地变量,也就是每一个线程有对应的从ThreadLocal中获取(调用get()方法)的变量,线程之间互不影响。ThreadLocal是一个带泛型的类,创建时一般要声明为public static final,而且还要重写initialValue()方法。public static final ThreadLocal&lt...原创 2018-06-12 16:03:26 · 225 阅读 · 0 评论 -
多线程(2)——生产者与消费者模式
为什么要有生产者与消费者模式为了解决生产者和消费者速度不匹配的问题,如果生产者的速度大于消费者的速度,则生产者要等待消费者处理完生产者才能产生新的数据。生产者与消费者模式有两种单生产者与单消费者 -多生产者与多消费者实现生产者与消费者有二种实现方式wait和notify方式ReentrantLock的condition方式代码示例示例实现的...原创 2018-06-13 11:06:23 · 478 阅读 · 0 评论 -
多线程(3)——ReentrantLock的公平锁与非公平锁
什么是公平锁和非公平锁公平锁(Fair):加锁前检查是否有排队等待的线程,优先排队等待的线程,先来先得非公平锁(Nonfair):加锁时不考虑排队等待问题,直接尝试获取锁,获取不到自动到队尾等待怎样设置公平锁和非公平锁先看一下源码//定义成final型的成员变量,在构造方法中进行初始化 private final Sync sync;//无参数默认非公平锁pub...原创 2018-06-13 16:36:42 · 983 阅读 · 0 评论 -
多线程(4)——死锁
什么是死锁有哪些死锁怎样避免死锁原创 2018-06-14 15:32:22 · 550 阅读 · 0 评论