zoukankan      html  css  js  c++  java
  • 三.线程间的通信

    ThreadLocal的使用

      变量的值的共享可以使用public static 变量的形式,所有的线程都使用同一个static变量。

    如果想实现每一个线程都有自己的共享变量该如何解决呢?JDk中提供的类是ThreadLocal正是解决这样的问题

       类Threadlocal主要解决的就是每个线程绑定自己的值。可以将Threadlocal类比喻成全局存放数据的盒子。

    盒子中可以存储每个线程的私有数据。

      

    get()与null

    验证线程变量的隔离性

    虽然3个线程都向对象tl中set()数据值,但每个线程还是能取出自己的数据。

    解决get()返回null的问题

    继承ThreadLocal类覆盖intialValue()方法具有的初始值。

     再次验证变量的隔离性

    子线程和父线程各有各的值

    类InheritableThreadLocal的使用

    使用InheritableThreadLocal可以在子线程中取得父线程继承下来的值。

     

     

    值继承再修改

  • 相关阅读:
    Linux 文本编辑器 vim
    Redis 学习(一)
    Linux服务管理
    Linux系统管理
    Linux文件系统管理
    深入解析 composer 的自动加载原理 (转)
    Composer 的学习
    GBDT算法简述
    随机森林入门与实战
    主成分分析PCA
  • 原文地址:https://www.cnblogs.com/duan2/p/7739203.html
Copyright © 2011-2022 走看看