Concurrent
文章平均质量分 79
Ricky_Fung
「Stay hungry. Stay foolish.」
展开
-
ThreadLocal源码分析
本篇文章将结合ThreadLocal源码深入探究ThreadLocal内部实现,期待对ThreadLocal有更透彻的了解。原创 2016-05-13 18:05:55 · 749 阅读 · 0 评论 -
Java 多线程下载技术实现
多线程下载多线程下载技术,简单的说就是把要下载的文件分成几块,由不同的线程来负责每一块数据的下载任务。技术要点RandomAccessFile: Java中用来实现随机访问文件的类http Range请求头具体思路1、文件分块。 文件分块大小(blockSize)= (文件大小 +线程数 - 1 )/ 线程数 ; 2、确定每一个线程所要下载的 文件的起始和结束位置。 现假设为每个线程分原创 2016-01-07 16:54:47 · 3042 阅读 · 0 评论 -
Java并发编程-Callable和Future
Java并发编程-Callable和Future原创 2016-08-16 23:58:41 · 836 阅读 · 0 评论 -
Java ScheduledExecutorService教程
参考资料https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html原创 2016-08-11 10:26:26 · 2983 阅读 · 0 评论 -
Java CopyOnWriteArrayList详解
Java CopyOnWriteArrayList详解原创 2016-07-04 22:55:54 · 736 阅读 · 1 评论 -
ThreadLocal教程
ThreadLocalThreadLocal类的定义public class ThreadLocal<T> extends Object官方文档说明如下: This class provides thread-local variables. These variables differ from their normal counterparts in that each thread tha原创 2016-05-13 14:12:14 · 936 阅读 · 0 评论 -
Java AtomicInteger源码分析
在JDK1.5 中新增java.util.concurrent(J.U.C)。 我们以java.util.concurrent中的AtomicInteger为例,看一下在不使用锁的情况下是如何保证线程安全的。主要理解getAndIncrement方法,该方法的作用相当于 ++i 操作。AtomicInteger源码(基于JDK1.7源码,并做了部分删减)如下:package java.util.c原创 2016-05-14 23:50:53 · 1279 阅读 · 0 评论 -
Java多线程之 Callable、Future和FutureTask
待完成。。。原创 2013-09-22 17:57:22 · 2115 阅读 · 0 评论 -
Java CountDownLatch
CountDownLatch简介 CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。CountDownLatch和CyclicBarrier的区别(1) CountDownLatch的作用是允许1或N个线程等待其他线程完成执行;而CyclicBarrier则是允许N个线程相互等待。(2) Count原创 2014-08-28 10:33:27 · 985 阅读 · 0 评论 -
Java CyclicBarrier
CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。注意比较CountDownLatch和CyclicBarrier:1.CountDownLatch的作用是允许1或N个线程等待其他线程完成执行;而CyclicBarrie原创 2014-09-17 11:55:48 · 1194 阅读 · 0 评论 -
Java Exchanger
JDK Exchanger类允许在2个线程间定义同步点,当2个线程到达这个点,他们相互交换数据类型,使用第一个线程的数据类型变成第二个的,然后第二个线程的数据类型变成第一个的。A synchronization point at which threads can pair and swap elements within pairs. Each thread presents some ob原创 2014-10-16 12:14:22 · 1242 阅读 · 0 评论 -
Java Semaphore
Semaphore简介Semaphore是一个计数信号量,它的本质是一个"共享锁"。信号量维护了一个信号量许可集。线程可以通过调用acquire()来获取信号量的许可;当信号量中有可用的许可时,线程能获取该许可;否则线程必须等待,直到有可用的许可为止。 线程可以通过release()来释放它所持有的信号量许可。Semaphore的函数列表原创 2014-10-16 11:16:44 · 1491 阅读 · 0 评论 -
Google Guava ListenableFuture入门
ListenableFuture是Google开源的Java Library Guava中的一个并发编程辅助类,它本身是继承是Java的Future。严格来讲,Future是一种Design Pattern, 它本身跟语言是没有关系的。原创 2016-08-17 00:06:24 · 1128 阅读 · 0 评论