线程本地化ThreadLocal
来源:互联网 发布:windows phone官网 编辑:程序博客网 时间:2024/04/29 23:41
- class Accessor implements Runnable {
- private final int id;
- public Accessor(int idn) { id = idn; }
- public void run() {
- while(!Thread.currentThread().isInterrupted()) {
- ThreadLocalVariableHolder.increment();
- System.out.println(this);
- Thread.yield();
- }
- }
- public String toString() {
- return "#" + id + ": " +
- ThreadLocalVariableHolder.get();
- }
- }
- public class ThreadLocalVariableHolder {
- private static ThreadLocal<Integer> value =
- new ThreadLocal<Integer>() {
- private Random rand = new Random(47);
- protected synchronized Integer initialValue() {
- return rand.nextInt(10000);
- }
- };
- public static void increment() {
- value.set(value.get() + 1);
- }
- public static int get() { return value.get(); }
- public static void main(String[] args) throws Exception {
- ExecutorService exec = Executors.newCachedThreadPool();
- for(int i = 0; i < 5; i++)
- exec.execute(new Accessor(i));
- TimeUnit.SECONDS.sleep(3);
- exec.shutdownNow();
- }
- }
- 我的结果和书上的不一样所以就不再记录
- ThreadLocal对象通常当作静态域存储, 在创建ThreadLocal时,只能通过get() 和set()方法访问对象, get() 返回与对象相关的对象副本,而ser()会将参数插入到为其线程存储的对象,并返回存储原有的对象,increment()和get()方法在ThreadLocalVariableHolder 中演示了这一点,注意到 increment()和get()方法都不是synchronized的,因为ThreadLocal保证不会出现竞争条件
上面是摘抄TIJ的 线程本地存储 方便以后自己复习使用
0 0
- 线程本地化ThreadLocal
- 线程变量本地化类ThreadLocal(1)
- 【线程】 ThreadLocal
- ThreadLocal---线程本地变量
- 线程局部变量ThreadLocal
- 线程(ThreadLocal)
- ThreadLocal 线程局部变量
- ThreadLocal 线程变量
- ThreadLocal本地线程
- ThreadLocal---线程本地变量
- Java线程之ThreadLocal
- 线程安全---ThreadLocal
- ThreadLocal 与线程池
- java线程之ThreadLocal
- 线程局部变量ThreadLocal
- Java线程ThreadLocal
- 线程学习2--ThreadLocal
- Java线程:深入ThreadLocal
- Scala界面Panel、Layout初探
- 笔试/面试题记录
- OC 中 的copy 功能 深复制 和 浅复制 的 区别
- 数组的排序
- 3. Java面向对象之泛型-指定多个泛型
- 线程本地化ThreadLocal
- 自定义控件(三)自定义圆角Button
- 默齐致知电话面试
- 舞蹈链..Exact cover&Treasure Map等 . DLX-精确覆盖
- IOS开发概述-08.UIWindow
- 毕业三年 /****************************转载**************HUST机械学长****************************/
- 关于ListView的点击事件的触发
- 支持向量机的分类
- http详解(一)-------web的基础