Thread

作者: battle_ | 来源:发表于2017-07-14 12:03 被阅读7次

    extends Thread 和 implements Runable区别
    thread通过继承Thread实现的类,类内成员变量是线程间不共享的,是否使用threadLocal无区别。因为每次使用这种类时,都是new新的类。Thread t = new extThread();
    thread通过重写runable接口的类,类内成员变量是可以线程间共享的。因为当使用时候类只new了一次。ImplThread it = new ImplThread();Thread t = new Thread(it);

    ThreadLocal
    可以将类中处于共享内存/主内存的变量,在不同线程中互斥。
    原理及内存泄露风险-由于其和thread生命周期同步,key=null而value仍存在,thread结束才会被回收value

    Thread中有个成员变量 ThreadLocal.Threadlocalmap类型

    Thread.class

    该成员变量通过Threadlocal管理赋值,ThreadLocalMap是一个类似hashmap的结构,key为threadlocal实例自身

    ThreadLocal$ThreadLocalMap.class

    相关文章

      网友评论

          本文标题:Thread

          本文链接:https://www.haomeiwen.com/subject/ecpqhxtx.html