并发编程
文章平均质量分 84
LuckyBug
SWJTU
展开
-
ThreadLocal-线程独享
ThreadLocal 实现原理 ThreadLocal-线程独享 > 194521_8ET4_2243330.jpg" src="https://wiki.sankuai.com/download/attachments/560966584/194521_8ET4_2243330.jpg?version=1&modificationDate=1489719536000&api=v2" a原创 2017-04-07 19:03:12 · 774 阅读 · 0 评论 -
Thread类源码
/** * Every thread has a priority. Threads with higher priority are * executed in preference to threads with lower priority. Each thread * may or may not also be marked as a daemon. When code runni原创 2017-04-07 19:01:52 · 677 阅读 · 0 评论 -
三个线程ABC,交替打印ABC
synchronized问题为三线程间的同步唤醒操作,主要的目的就是ThreadA->ThreadB->ThreadC→ThreadA……循环执行三个线程。为了控制线程执行的顺序,那么就必须要确定唤醒、等待的顺序,所以每一个线程必须同时持有两个对象锁,才能继续执行。一个对象锁是prev,就是前一个线程所持有的对象锁。还有一个就是自身对象锁。主要的思想就是,为了控制执行的顺序,必须要先持有p原创 2017-04-11 15:04:38 · 10034 阅读 · 4 评论 -
多线程虚假唤醒
问题:这段代码大多数情况下运行正常,但是某些情况下会出问题。什么时候会出现什么问题?如何修正?public class MyStack { private List list = new ArrayList(); public synchronized void push(String value) { synchronized (this) {原创 2017-04-11 15:08:45 · 1728 阅读 · 0 评论 -
生产者-消费者
线程间通信是多线程十分重要的一个知识点,Java多线程是用基于wait/notify/notifyAll的等待/通知模式实现的。其一个经典的案例就是“生产者消费者模式”。其中,生产者负责生产商品,消费者负责消费商品。在没有商品时,消费者必须等待生产者生产;而在已经有商品时,生产者必须等待消费者消费完才能继续消费。当然,还有“变种”模式,就是生产者可以生产商品堆积,但是堆积的数目不能超过一定的数目。原创 2017-04-11 15:15:42 · 541 阅读 · 0 评论 -
多线程知识点
什么是Java内存模型? 多线程知识点 > timg.jpeg" height="250" src="http://wiki.sankuai.com/download/attachments/781762051/timg.jpeg?version=1&modificationDate=1489324556000&api=v2" alt="" style="max-width:none; m原创 2017-03-27 18:05:48 · 834 阅读 · 0 评论