zoukankan      html  css  js  c++  java
  • java基础---->多线程之ThreadLocal(七)

      这里学习一下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

    友情链接

  • 相关阅读:
    高性能MySQL学习总结二----常见数据类型选择及优化
    springboot admin图文+视频教程
    xxl-job图文教程+视频讲解
    mybatis-plus视频教程
    springcloud视频教程
    springcloud系统化学习图文+视频教程
    docker系统化学习图文+视频教程
    【分享】docker全套视频教程
    是用Git还是SVN?
    NOIP知识点汇总
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusejavathreadThreadLocal.html
Copyright © 2011-2022 走看看