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