zoukankan      html  css  js  c++  java
  • 多线程(二)ThreadLocal

     ThreadLocal

    public class Demo extends Thread{
    
        static int i = 0;
        
        public Integer getNext(){
            
            i++;
            return i;
        }
        
        
        @Override
        public void run() {
            for (int i = 0; i < 3; i++) {
                System.out.println(currentThread().getName() + "---" + getNext());
            }
        }
        
        
        public static void main(String[] args) {
            Demo demo = new Demo();
            Thread thread = new Thread(demo);
            thread.setName("线程1");
            Thread thread1 = new Thread(demo);
            thread1.setName("线程2");
            Thread thread2 = new Thread(demo);
            thread2.setName("线程3");
            thread.start();
            thread1.start();
            thread2.start();
        }
    
    }

    ThreadLocal将代码修改一下~

    package test;
    
    public class Demo extends Thread{
    
        static Integer i;
        
        
        ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>();
        
        public Integer getNext(){
            //从ThreadLocal中获取
            i = threadLocal.get();
            if (i == null) {
                i = 0;
            }
            i++;
            //存入ThreadLocal中
            threadLocal.set(i);
            return i;
        }
        
        
        @Override
        public void run() {
            for (int i = 0; i < 3; i++) {
                System.out.println(currentThread().getName() + "---" + getNext());
            }
        }
        
        
        public static void main(String[] args) {
            Demo demo = new Demo();
            Thread thread = new Thread(demo);
            thread.setName("线程1");
            Thread thread1 = new Thread(demo);
            thread1.setName("线程2");
            Thread thread2 = new Thread(demo);
            thread2.setName("线程3");
            thread.start();
            thread1.start();
            thread2.start();
        }
    
    }

      

  • 相关阅读:
    JS闭包
    webpack管理资源
    在webpack中使用配置文件
    webpack起步
    buuctf-MISC 面具下的flag
    Kali linux Steghide开源隐写工具
    buuctf-misc 九连环
    buuctf-Crypto rsarsa 1
    buuctf-web HardSQL 1
    buuctf-web Hack World 1
  • 原文地址:https://www.cnblogs.com/deepSleeping/p/10259139.html
Copyright © 2011-2022 走看看