美文网首页
TerminatingThreadLocal

TerminatingThreadLocal

作者: 人人为它 | 来源:发表于2023-02-16 10:21 被阅读0次

这几天开始准备准备充实一下自己.看threalocal的时候.

发现除了InheritableThreadLocal这个用来在父子线程之间传递变量的子类之外

还有一个对外开放的子类就是TerminatingThreadLocal.

这个玩意我看了一下jdk里自己的使用发现是在NativeBuffers里有这段.

private static ThreadLocalthreadLocal =new TerminatingThreadLocal() {

protected void threadTerminated(NativeBuffer[] buffers) {

if (buffers !=null) {

for(int i =0; i <3; ++i) {

NativeBuffer buffer = buffers[i];

                if (buffer !=null) {

buffer.free();

                    buffers[i] =null;

                }

}

}

}

};

结合TerminatingThreadLocal 这个类的注释说明.发现这个东西就是一个线程退出时候的回调.就是说一个线程终止了.你希望在终止的时候干些事情

就用这个变量可以做到.

触发条件就在Thread的exit方法里

以个人浅薄的认识啊.除了这种操作堆外内存的场景需要自己去处理内存以外.剩下的反正也就等jvm gc的时候它就会自己回收掉了把...

相关文章

网友评论

      本文标题:TerminatingThreadLocal

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