在学习这个InheritableThreadLocal类的时候,我对于有个地方一直没有理解,我发现了盲点。

 1   private void init(ThreadGroup g, Runnable target, String name,
2 long stackSize, AccessControlContext acc,
3 boolean inheritThreadLocals) {
4 //..........
5 Thread parent = currentThread();
6 //..........
7 if (inheritThreadLocals && parent.inheritableThreadLocals != null)
8 this.inheritableThreadLocals =
9 ThreadLocal.createInheritedMap(parent.inheritableThreadLocals);
10 /* Stash the specified stack size in case the VM cares */
11 this.stackSize = stackSize;
12
13 /* Set thread ID */
14 tid = nextThreadID();
15 }

在这个地方,我的思想出现了问题,对于这个currentThread得到了当前线程,这里没有问题,然后设置this.inheritableThreadLocals=

ThreadLocal.createInheritedMap(parent.inheritableThreadLocals);

我的问题来了。。。为什么这个this可以代表子线程,当前线程不是父线程吗?我对于这个问题感觉深深的不解,

我思考了良久,得出了一个结论,我TM真是个sb,啊啊啊啊啊啊为什么会把这个this当作子线程呢,这明明是个对象啊

,代表子对象的引用啊,线程和对象不是一个东西啊。。。。。我给自己整吐了。。

好了。。吐槽结束了,希望大家不要放跟我一样的错误

最新文章

  1. 保存配置文件的appSetting
  2. diary and html 文本颜色编辑,行距和其它编辑总汇
  3. Java 路径
  4. worksteal thread pool
  5. OC语言-01-面向过程与面向对象思想
  6. 学习tornado:安全
  7. ms sqlserver 系列之如何查看数据链接数
  8. CF135A Replacement
  9. bzoj1532
  10. Poj 1151-Atlantis 矩形切割
  11. RabbitMQ java 参数
  12. 201521123070 《JAVA程序设计》第7周学习总结
  13. 如何查找Linux服务器上JDK安装路径?
  14. Light OJ 1343 - Aladdin and the Black Stones
  15. Entitas Learning Document
  16. Java高并发缓存架构,缓存雪崩、缓存穿透之谜
  17. Linux下nginx的使用
  18. acrgis导出成tiff图片,全是黑色
  19. 不常用的vi命令
  20. 实现strStr()的golang实现

热门文章

  1. Cloudera Manager简介
  2. 撤销rebase与git原理
  3. Object of type Decimal is not JSON serializable
  4. Git远程推送常见错误及解决方案:
  5. Linux和MySQL的安装与基本操作
  6. 关于红黑树,在HashMap中是怎么应用的?
  7. Flink的sink实战之二:kafka
  8. ubuntu下安装RabbitMQ
  9. Cuda常用概念及注意点
  10. C#两行代码实现三维地球