- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 Java多线程之CyclicBarrier
import java.util.Random;import java.util.concurrent.CyclicBarrier;/** * CyclicBarrier类似于CountDownLatch也是个计数器, * 不同的是CyclicBarrier数的是调用了CyclicBarrier.await()进入等待的线程数, * 当线程数达到了CyclicBarrier...
2012-05-16 00:30:51 76
原创 JDK5-泛型
自己随便写的两个例子,可能说的不算全面吧! import java.util.Hashtable;public class Test1<K,V> { public Hashtable<K,V> table = new Hashtable<K, V>(); public void put(K k,V v) { table.put...
2012-05-14 22:01:39 126
原创 学习线路
public static long nanoTime() Returns the current value of the most precise available system timer, in nanoseconds.This method can only be used to measure elapsed time and is not relate...
2012-05-12 01:34:07 107
原创 非主流并发工具之 ForkJoinPool
ForkJoinPool 是 Java SE 7 新功能“分叉/结合框架”的核心类,现在可能乏人问津,但我觉得它迟早会成为主流。分叉/结合框架是一个比较特殊的线程池框架,专用于需要将一个任务不断分解成子任务(分叉),再不断进行汇总得到最终结果(结合)的计算过程。比起传统的线程池类ThreadPoolExecutor,ForkJoinPool 实现了工作窃取算法,使得空闲线程能够主动分担从别的...
2012-05-09 23:54:06 253
原创 java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算
FutureTask、ExecutorService 相关知识,请看java,API一个使用FutureTask简单的例子: package com.spell.threads;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.co...
2012-05-09 01:15:44 125
原创 ThreadLocal - 多线程共享变量的独立拷贝
基本概念 为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。使用场景 To keep state with a thread (user-id, transaction-id, logging-id) To cache objects which you need ...
2012-05-09 00:53:35 803
原创 java 里面volatile
Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。这样当多个线程同时与某个...
2012-05-09 00:35:47 71
原创 阻塞队列使用---ArrayBlockingQueue
ArrayBlockingQueue是JAVA5中的一个阻塞队列,能够自定义队列大小,当插入时,如果队列已经没有空闲位置,那么新的插入线程将阻塞到该队列,一旦该队列有空闲位置,那么阻塞的线程将执行插入。从队列中取数据为:take,放数据为:put。下面的例子模拟了两个队列的插入和获取,首先在队列2中插入一个数据,启动线程2向队列2中插入数据时,该线程将阻塞在队列2等待,同时启动线程1向队列1中插入...
2012-05-04 19:28:24 97
Java做的文本编辑器
2009-07-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人