您的位置:首页 > 编程语言 > Java开发

java基础---->多线程之ThreadLocal(七)

2017-07-27 14:48 447 查看
  这里学习一下java多线程中的关于ThreadLocal的用法。人时已尽,人世还长,我在中间,应该休息。

ThreadLocal的简单实例

一、ThreadLocal的简单使用

package com.linux.huhx.thread2;

import java.util.Random;

public class ThreadLocalerTest {
private static ThreadLocal<Integer> threadLocal = new ThreadLocal<>();

public static void main(String[] args) {
for (int i = 0; i < 2;i++) {
new Thread(new Runnable() {
@Override
public void run() {
int randomValue = new Random().nextInt(9999);
System.out.println(Thread.currentThread().getName() + ", value: " + randomValue);
threadLocal.set(randomValue);

new GetA().get();
new GetB().get();
}
}).start();
}
}

private static class GetA {
public void get() {
int value = threadLocal.get();
System.out.println("A from " + Thread.currentThread().getName() + ", get data " + value);
}
}

private static class GetB {
public void get() {
int value = threadLocal.get();
System.out.println("A from " + Thread.currentThread().getName() + ", get data " + value);
}
}
}


运行的结果如下:

Thread-1, value: 2667
Thread-0, value: 9611
A from Thread-0, get data 9611
A from Thread-1, get data 2667
A from Thread-0, get data 9611
A from Thread-1, get data 2667


友情链接

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: