文档章节

线程局部范围内数据共享

大强森
 大强森
发布于 2017/04/25 23:35
字数 138
阅读 8
收藏 0
import java.util.Random;

//ThreadLocal
//存取和当前线程有关的局部变量,存取都是对应同一个线程
public class ThreadScopeShareData2 {
	static int n = 0;
	static ThreadLocal<Integer> tl = new ThreadLocal<Integer>();

	public static void main(String[] args) {
		for (int i = 1; i < 2; i++) {
			new Thread(new Runnable() {
				@Override
				public void run() {
					n = new Random().nextInt(10);
					tl.set(n);
					new A().getData();
					new B().getData();
				}
			}).start();
			//
			new Thread(new Runnable() {
				@Override
				public void run() {
					n = new Random().nextInt(10);
					tl.set(n);
					new A().getData();
					new B().getData();
				}
			}).start();

		}

	}

	static class A {
		public void getData() {
			int n = tl.get();
			System.out.println("Class-A-" + Thread.currentThread()
			.getName() + "-" + n);
		}
	}

	static class B {
		public void getData() {
			int n = tl.get();
			System.out.println("Class-B-" + Thread.currentThread()
			.getName() + "-" + n);
		}
	}

}

 

© 著作权归作者所有

大强森
粉丝 2
博文 24
码字总数 9681
作品 0
奉贤
程序员
私信 提问
线程范围内共享变量的概念与作用

一、图解 二、多个线程访问共享对象和数据的方式 1、如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,买票系统就可以这么做。 2、如果每...

哎小艾
2018/01/16
1
0
ThreadLocal(线程局部变量)

单从字面翻译更应该是本地化线程,然后却是线程局部变量(ThreadLocalVariable)不是更合适吗? ThreadLocal到底是用来干什么的喃?当然是保存线程私有的数据啊,所以通常变量是被修饰为pri...

特拉仔
2017/10/19
0
0
Java基础巩固笔记(7)-多线程之共享数据

Contents java基础巩固笔记(5)-多线程之共享数据 线程范围内共享数据 多线程访问共享数据 本文主要总结线程共享数据的相关知识,主要包括两方面:一是某个线程内如何共享数据,保证各个线程的...

卟想苌亣
2017/12/04
0
0
java ThreadLocal

JDKAPI 解释: 该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其get或set方法)的每个线程都有自己的局部变量,它独立于初始化变量的副本...

smallsun512
2013/06/26
0
0
java.lang.ThreadLocal类研究

java.lang.ThreadLocal类研究 1、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thread local variable(线程局部变量)。也许把它命名为...

SDK4
2011/09/17
0
2

没有更多内容

加载失败,请刷新页面

加载更多

ubuntu或ubuntu kylin优麒麟中安装QQ、wechat微信、百度网盘

从中国国内的地址下载deepin wine,码云上的。这样网速比较快。然后,按照说明向下安装。 https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu...

gugudu
20分钟前
1
0
基于redis分布式锁实现“秒杀”

最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。 业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源...

别打我会飞
40分钟前
11
0
Zookeeper的实践指南

本章重点 1.数据存储2.基于Java API初探Zookeeper的使用3.深入分析Watcher机制的实现原理4.Curator客户端的使用,简单高效 数据存储 事务日志快照日志运行时日志 bin/zookeepe...

须臾之余
43分钟前
1
0
MySQL mybatis Point类型数据

MySQL中的point用于表示GIS中的地理坐标,在GIS中广泛使用 如何写入mysql,如下图: CREATE TABLE `test-point` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号', `point` ......

张欢19933
54分钟前
2
0
设计模式-适配器模式

适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入...

HOT_POT
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部