加载中
Java泛型理解

Java泛型的一些理解,记录下,可以参考http://hxraid.iteye.com/blog/549509说明

2014/05/30 11:23
396
使用Semaphore实现阻塞队列

Semphore也可以用于实现生产者消费者队列,ArrayBlockingQueue也是使用ReentrantLock的2个condition,来判断empty和full,和下面用2个semaphore控制道理是差不多的,有兴趣可以看下ArrayBloc...

2014/05/28 18:04
3.2K
AbstractCollection 方法的toString()方法解析

一个同事在看JDK 1.6 下AbstractCollection源码,讨论了几个问题,其中一个问题是toString,这里记录下

2014/05/28 17:47
705
Java Thread模拟哲学家进餐

不算真正的解决,线程开始顺序很重要,后续在JUC里面,用Semaphore模拟

2014/05/28 14:54
2.8K
Java版击鼓传花

报数游戏,报到几出局,直到最后,类似于约瑟夫环

2014/05/28 13:38
1.8K
使用ReentrantReadWriteLock进行线程通信

使用ReentrantReadWriteLock读读写锁,来实现一个阻塞队列,可以和之前的ReentrantLock的Condition比较

2014/05/28 12:41
148
使用ReentrantLock实现线程通信

使用ReentrantLock和一对Condition实现一个阻塞队列,优势是使用lock可以对读写分别加锁,可以和之前Thread的wait和notify比较

2014/05/28 12:39
2.3K
使用Thread的wait和notify方法实现线程通信

使用Thread自带的wait和notify方法,实现一个阻塞队列,后续会给出基于juc包的实现

2014/05/28 12:37
102
JUC学习之ConcurrentLinkedQueue

ConcurrentLinedQueue是一个基于链表的无界队列(其实是有界的,它的长度是int类型)。基于wait-free算法,适合多个线程读取的场景,出队和入队使用2把锁,性能比ArrayBlockingQueue快,当然...

2014/05/28 11:23
726
JUC学习之ArrayBlockingQueue

ArrayBlockingQueue是一个基于数组的有界队列,提供阻塞特性,此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短...

2014/05/28 11:05
204
Semaphore 初始化的许可数

Semaphore初始化给的许可数,只是初始许可,不代表许可的最大值,每release一次,都会增加一次许可,做流控的时候,需要特别注意

2014/05/28 09:36
997
NIO通信例子

使用Java NIO最基本的通信,没有对半包,粘包等做处理,只是一个基本的例子,后续再在这个基础上,实现前一篇用socket实现的rpc调用的例子

2014/05/26 16:06
1K
JUC学习之ThreadPool

JUC下的线程池一般是使用ExecutorService接口,该接口实现了Executor接口,用于执行同步或者异步的任务

2014/05/21 15:17
139
JUC学习之FutureTask

FutureTask实现了Future接口,用于可取消的异步计算,计算尚未完成,则get方法一直阻塞,可使用FutureTask包装Callable或者Runnable对象,实现了Runnable可将FutureTask提交给Executor线程池...

2014/05/21 14:53
242
JUC学习之Exchanger

JUC下的Exchanger,可用于两个线程间对信息进行交换,在某些遗传算法或者管道设计中很有用

2014/05/21 14:39
168
JUC学习之Semaphore

Semaphore是juc下的一个用于控制访问某些资源的线程数目

2014/05/21 14:35
233
JUC学习之AtomicInteger

AtomicInteger变量的很多操作,使用CAS实现,是具有完全的同步语义,适合做一些线程安全的控制

2014/05/21 14:30
284
ThreadLocal简析

对ThreadLocal的理解

2014/05/21 14:00
156

没有更多内容

加载失败,请刷新页面

返回顶部
顶部