美文网首页
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