zoukankan      html  css  js  c++  java
  • ThreadLocal类使用理解

    为了此时保证多个线程可以在自己操作的时候有一个自己的空间,所以应该在保存有当前的线程对象,这样的类实际上就凑成了ThreadLocal类,这个类主要使用如下方法:

    public void set(T value) 普通 设置传输数据
    public T get() 普通 取得传输数据
    public void remove() 普通 删除数据

    保存每个线程的独立数据。

    代码实现:

     1 package cn.demo;
     2 class Message{
     3     private String title;
     4     public void setTitle(String title){
     5         this.title = title;
     6     }
     7     public String getTitle(){
     8         return title;
     9     }
    10 }
    11 class Demo {
    12     public void fun(){
    13         Message msg = MyTran.get();
    14         System.out.println(msg.getTitle());
    15     }
    16 }
    17 class MyTran{
    18     private static ThreadLocal<Message> threadlocal = new ThreadLocal<Message>();
    19     public static void set(Message msg){
    20         threadlocal.set(msg);
    21     }
    22     public static Message get(){
    23         return threadlocal.get();
    24     }
    25 }
    26 public class Test {
    27     public static void main(String[] args) {
    28         new Thread(new Runnable(){
    29             public void run(){
    30                 Message msg = new Message();
    31                 msg.setTitle("我们好累啊");
    32                 MyTran.set(msg);
    33                 new Demo().fun();
    34             }
    35         }).start();
    36         Message msg = new Message();
    37         msg.setTitle("www.i.cnblogs/liyang31.com");
    38         MyTran.set(msg);
    39         new Demo().fun();
    40     }
    41 }

    结果:

    我们好累啊

    www.i.cnblogs/liyang31.com

    总结:利用ThreadLocal可以在多线程的开发环境之中,准确的在本线程对象操作时保存或取得所需要的一个对象内容。

  • 相关阅读:
    CentOS防火墙相关命令
    Redis中几种数据类型的基本操作指令
    Pandas字符串操作及实例应用
    Pandas排列和随机采样
    Pandas数据的去重,替换和离散化,异常值的检测
    Pandas重塑和轴向旋转
    Pandas合并数据集之concat、combine_first方法
    Pandas合并数据集之merge、join方法
    转正述职报告
    Pandas操作数据库及保存csv
  • 原文地址:https://www.cnblogs.com/liyang31/p/5804569.html
Copyright © 2011-2022 走看看