Discuss / Java / 给兄弟们一个小例子做使用参考

给兄弟们一个小例子做使用参考

Topic source
package Threads.Test11;public class ThreadLocalTests {
    public static void main(String[] args) {
        //测试ThreadLocal使用方法        
    ThreadLocal<String> studentName = new ThreadLocal<>();
    new Thread(()->{
            studentName.set("xiaoming");
            System.out.println(Thread.currentThread().getName()+":学生姓名是-"+studentName.get());
            studentName.remove();
            System.out.println(Thread.currentThread().getName()+":学生姓名是-"+studentName.get());
        }).start();
    new Thread(()->{
            studentName.set("xiaozhang");
            System.out.println(Thread.currentThread().getName()+":学生姓名是-"+studentName.get());
        }).start();
    }
}


结果:
  Thread-0:学生姓名是-xiaoming
  Thread-0:学生姓名是-null
  Thread-1:学生姓名是-xiaozhang

  Process finished with exit code 0

例子只给了存储个String 按照php的说法就是个字符串, 那我想存储一个数组或者 对象 咋整。

😯

#3 Created at ... [Delete] [Delete and Lock User]

帮忙回复下二楼的兄弟。

将楼主的这一行 String

  ThreadLocal<String> studentName = new ThreadLocal

  替换为某个对象 例如User

  ThreadLocal<User> studentName = new ThreadLocal

  • 1

Reply