zoukankan      html  css  js  c++  java
  • 说一说ThreadLocal

    ThreadLocal,这个东西到底是干嘛的,很多文章都有介绍,一般是先介绍一下这个类,然后再把它的set方法,和get方法说一遍。

    但是说完了,你懂了吗,你知道这玩意儿是干什么用的了吗,好像还是迷迷糊糊的。

    那么我今天也来说一说,那么切入点是什么,Handler消息机制。

    是个人都知道Handler,Looper,MessageQueue,不细说。别人文章都写了,不是重点。

    Looper类里面有一个

    static final ThreadLocal<Looper> sThreadLocal = new ThreadLocal<Looper>();
    

      从这里好好看看ThreadLocal到底是干嘛的。

    其实就一句话,Thread类里面有Looper类型的属性吗?没有。

    那么我们又想每个Thread实例也就是子线程,有自己的Looper,这时候就用到了ThreadLocal.

    我的理解就是给Thread类插入了一个属性。我们不需要去修改Thread类,可以给它添加一个属性,这个属性就是Looper或者别的自己自定义的属性。

    仔细品一品这句话,Thread类里面有Looper类型的属性吗?没有。但是我们又想每个子线程也就是Thread类的实例都去操作自己的Looper。这就是ThreadLocal的作用。就是变相加了个属性。

  • 相关阅读:
    朴素贝叶斯算法
    生成模型与判别模型
    决策树 ID3,C4.5 CART
    KNN 分类程序
    php的空间命名
    模式设计六大原则
    javascript 的设计模式(更新中)
    typescript 学习笔记
    PHP 关于smarty模板引擎的使用
    简易封装PDO的操作类
  • 原文地址:https://www.cnblogs.com/cfdroid/p/14494412.html
Copyright © 2011-2022 走看看