多线程
JiuShanCunMonkeyKing
这个作者很懒,什么都没留下…
展开
-
java多线程之同步计数器
同步计数器之--CountDownLatch 使用场景:当用户上传文件,我们可以多开几个线程来上传文件,当所有的线程上传完成后,文件才算上传完成,在此场景下可以使用CountDownLatch,当每个线程上传完成,调用CountDownLatch.countDown()使计数器减1,当计数器为0时表示文件上传完成。package com.synchronize; import java.u...原创 2018-06-29 15:07:27 · 929 阅读 · 0 评论 -
java多线程之阻塞队列--BlockingQueue
阻塞队列适用于生产者消费者模式:当队列为空时,获取元素的线程会等待队列变成非空、当队列装满时,存储元素的线程会等待队列变成非满。阻塞队列的一些方法介绍:BlockingQueue是一个接口,实现类如下下面将介绍实现类的用法,和一些简单的列子1).ArrayBlockingQueue:数组阻塞队列数组阻塞队列是一个有边界,支出先进先出(FIFO first in first out)的队列,数组的头...原创 2018-06-25 14:55:38 · 291 阅读 · 0 评论 -
Java多线程之AbstractQueuedSynchronizer--抽象队列同步器
本文参考自 http://www.cnblogs.com/waterystone/p/4920797.html http://www.tianshouzhi.com/api/tutorials/mutithread/110 AbstractQueuedSynchronizer简述 AbstractQueuedSynchronizer也被称为AQS ,AQS提...转载 2018-07-09 14:39:36 · 251 阅读 · 0 评论 -
java多线程之Lock--显式锁
Lock与Synchronized简介 Synchornized相信大家用的已经比较熟悉了,这里我就不介绍它的用法了 Synchronized被称为同步锁或者是隐式锁,隐式锁与显式锁区别在于,隐式锁的获取和释放都需要出现在一个块结构中,而且是有顺序的,获取锁的顺序和释放锁的顺序必须相反,就是说,最开始获取了A锁,然后获取了B锁,那么释放锁的顺序就是先释放B,在释放A。 随着并发编程应用越来越...原创 2018-07-11 15:24:23 · 223 阅读 · 0 评论 -
java多线程之volatile
原文地址 http://www.tianshouzhi.com/api/tutorials/mutithread/286 我们知道线程中运行的代码最终都是交给CPU执行的,而代码执行时所需使用到的数据来自于内存(或者称之为主存)。但是CPU是不会直接操作内存的,每个CPU都会有自己的缓存,操作缓存的速度比操作主存更快。 因此当某个线程需要修改一个数据时,事实上步骤是如下的: 1、将主存中的数...转载 2018-07-18 16:07:34 · 180 阅读 · 0 评论