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的作用。就是变相加了个属性。

  • 相关阅读:
    Part 11 Search filter in AngularJS
    Part 10 AngularJS sort rows by table header
    Part 9 Sorting data in AngularJS
    Part 8 AngularJS filters
    Part 7Handling events in AngularJS
    Part 6 AngularJS ng repeat directive
    PHP单一入口应用程序概述
    SVN
    跨平台的.NET集成开发环境:MonoDevelop
    PHP中使用KindEditor
  • 原文地址:https://www.cnblogs.com/cfdroid/p/14494412.html
Copyright © 2011-2022 走看看