java多线程快速入门(十六)

Posted cppdy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程快速入门(十六)相关的知识,希望对你有一定的参考价值。

ThreadLocal关键字实现每个线程有自己的变量

package com.cppdy;

class Number {

    private int num;

    public static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>() {
        @Override
        protected Integer initialValue() {

            return 0;
        }
    };

    public Number(int num) {
        this.num = num;
    }

    public int getNum() {
        int temp = threadLocal.get();
        threadLocal.set(temp+1);
        int count=threadLocal.get();
        return count;
    }
}

public class ThreadDemo12 extends Thread {

    private Number n;

    public ThreadDemo12(Number n) {
        this.n = n;
    }

    @Override
    public void run() {
        System.out.println(getName() + "--" + n.getNum());
    }

    public static void main(String[] args) throws Exception {
        Number n1 = new Number(0);
        ThreadDemo12 mt1 = new ThreadDemo12(n1);
        ThreadDemo12 mt2 = new ThreadDemo12(n1);
        ThreadDemo12 mt3 = new ThreadDemo12(n1);
        mt1.start();
        mt2.start();
        mt3.start();
    }

}

 

以上是关于java多线程快速入门(十六)的主要内容,如果未能解决你的问题,请参考以下文章

java 多线程 快速入门

(Java多线程系列一)快速入门

java多线程快速入门

java多线程快速入门

java多线程快速入门(二十)

java多线程快速入门