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

    友情链接

  • 相关阅读:
    linux 杂类
    set
    C++ 基础 杂类
    linux 添加samba账户
    git 常用命令
    git 设置bitbucket 邮箱、用户
    C++ shared_ptr
    git 免密码配置
    2014的新目标
    为/Date(1332919782070)/转时间2013-09-23
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusejavathreadThreadLocal.html
Copyright © 2011-2022 走看看