@Test
public void testThread() {
Thread thread = Thread.currentThread();
System.out.println("thread:" + thread);
//当前线程 id
System.out.println("threadId:" + thread.getId());
//当前线程名称
System.out.println("threadName:" + thread.getName());
//当前线程状态
System.out.println("threadState:" + thread.getState());
//当前线程优先级
System.out.println("threadPriority:" + thread.getPriority());
//当前线程组名称
System.out.println("threadThreadGroup,Name:" + thread.getThreadGroup().getName());
//当前线程组父类
System.out.println("threadThreadGroup,parent:" + thread.getThreadGroup().getParent());
//当前线程组的最高优先级别
System.out.println("threadThreadGroup,MaxPriority:" + thread.getThreadGroup().getMaxPriority());
System.out.println("threadStackTrace:" + thread.getStackTrace());
System.out.println("ContextClassLoader:" + thread.getContextClassLoader());
}
@Test
public void testThreadLocal() {
ThreadLocal<Object> threadLocal = new ThreadLocal<>();
//默认为 null,初始值为 null
System.out.println(threadLocal.get());
//给当前线程设置值
threadLocal.set("aaa");
System.out.println(threadLocal.get());
threadLocal.set("bbb");
System.out.println(threadLocal.get());
//清空线程值
threadLocal.remove();
}

Thread 与 ThreadLocal的更多相关文章

  1. Thread、ThreadLocal源码解析

    今天来看一下Thread和ThreadLocal类的源码. 一.Thread (1)首先看一下线程的构造方法,之后会说每种参数的用法,而所有的构造函数都会指向init方法 //空构造创建一个线程 Th ...

  2. Java多线程专题3: Thread和ThreadLocal

    合集目录 Java多线程专题3: Thread和ThreadLocal 进程, 线程, 协程的区别 进程 Process 进程提供了执行一个程序所需要的所有资源, 一个进程的资源包括虚拟的地址空间, ...

  3. ThreadLocal(一):Thread 、ThreadLocal、ThreadLocalMap

    一.ThreadLocalMap是ThreadLocal的内部类.Thread持有ThreadLocalMap的引用 Entry类继承了WeakReference<ThreadLocal< ...

  4. Anti Pattern - ThreadLocal variables with Thread Pool(转)

    In a previous post, I wrote the usage and benefits of ThreadLocal based instance variables in concur ...

  5. 【Java】深入理解ThreadLocal

    一.前言 要理解ThreadLocal,首先必须理解线程安全.线程可以看做是一个具有一定独立功能的处理过程,它是比进程更细度的单位.当程序以单线程运行的时候,我们不需要考虑线程安全.然而当一个进程中包 ...

  6. ThreadLocal实现线程范围内共享

    线程范围内共享,即是对相同一段代码,在不同的模块调用时使用一份数据,而在另外一个线程中又使用另外一份数据. ThreadLocal使用set方法为一个新的线程增加一条记录,key是各自的线程,valu ...

  7. java concurrency: ThreadLocal及其实现机制

    转载:http://shmilyaw-hotmail-com.iteye.com/blog/1703382 ThreadLocal概念 从字面上来理解ThreadLocal,感觉就是相当于线程本地的. ...

  8. 事务管理在三层架构中应用以及使用ThreadLocal再次重构

    本篇将详细讲解如何正确地在实际开发中编写事务处理操作,以及在事务处理的过程中使用ThreadLocal的方法. 在前面两篇博客中已经详细地介绍和学习了DbUtils这个Apache的工具类,那么在本篇 ...

  9. 谈话Java在ThreadLocal理解类

    我们必须先了解:ThreadLocal不超过一个线程类,或者它应该被称为线程局部变量.这从ThreadLocal的JDK我们可以看到的定义 public class ThreadLocal<T& ...

随机推荐

  1. shell脚本编程基础之for循环

    循环结构 循环需要有进入条件和退出条件,如果没有退出条件,则就会一直循环下去 for 变量 in 列表:do 循环体 done 生成列表及示例 {1..100}:生成1到100的整数列表 `comma ...

  2. 第12组 Beta版本演示

    前言 组长博客 组名: To Be Done 组员和贡献比例 短学号 姓名 分工 贡献比例 614 王永福* 前后端实现.发任务.催进度 30% 440 孙承恺 UI设计 15% 529 邱畅杰 文本 ...

  3. SQLServer数据库之SQL Server 获取本周,本月,本年等时间内记录

    本文主要向大家介绍了SQLServer数据库之SQL Server 获取本周,本月,本年等时间内记录,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. datediff(we ...

  4. 史上最全的 DB2 错误代码大全

    1 前言 作为一个程序员,数据库是我们必须掌握的知识,经常操作数据库不可避免,but,在写 SQL 语句的时候,难免遇到各种问题.例如,当我们看着数据库报出的一大堆错误时,是否有种两眼发蒙的感觉呢?咳 ...

  5. JAVA垃圾回收-可达性分析算法

    在java中是通过引用来和对象进行关联的,也就是说如果要操作对象,必须通过引用来进行.那么很显然一个简单的办法就是通过引用计数来判断一个对象是否可以被回收.不失一般性,如果一个对象没有任何引用与之关联 ...

  6. Win 10 MSYS2 VS Code 配置 c++ 的编译环境

    博客参考 https://www.cnblogs.com/esllovesn/p/10012653.html 和 https://blog.csdn.net/bat67/article/details ...

  7. 利用Termux在Android手机上运行PHP

    从 阮一峰 博客看到 [Termux 入门教程:架设手机 Server 下载文件] 想测试下,在可以跑PHP吗?经测试PHP完美运行,并且可用使用PHP内置WEB服务器,搭建网站访问:因为对linux ...

  8. Nginx 配置 stream SSL 第四层 代理

    场景:服务器F针对访问终端需要添加白名单操作,由到终端数量较多,所以用了一台代理服务器 P,在服务F中添加 服务器P IP地址的白名单,所有终端访问服务器P 由于我已经安装过 Nginx 所以只需要添 ...

  9. PP篇11 增、改生产订单组件BAPI

    增.改生产订单组件BAPI BAPI_ALM_ORDER_MAINTAIN USE BAPI_ALM_ORDER_MAINTAIN TO CREATE OR CHANGE PM WORK ORDER ...

  10. EasyNVR智能云终端硬件盒子x86版自我维护之摄像机网页直播系统基础运维

    背景分析 随着EasyNVR软件为越来越多的用户接受和使用,我们也致力于用户的需求收集和需求的调研,发现一部分用户有关于硬件设备的需求,加之我们推出的免费产品EasyNVS云管理平台,可以说用户自己搭 ...