课程信息:
- 课程名称:ThreadLocal
- 章节名称:第一章 论线程的安全性
- 讲师姓名:求老仙
课程内容:
1. 一致性问题
发生在多个主体对同一份数据无法达成共识
包括:分布式一致性问题,并发问题等等
特点:场景多,问题复杂,难以察觉--需要严密的逻辑思考甚至数学论证
排队:(例如:锁、互斥量、管程、屏障等)
投票:(例如:Paxos,Raft等)
避免:(例如:Threadlocal)
2. ThreadLocal是什么
定义:提供线程局部变量;一个线程局部变量在多个线程中,分别有独立的值(副本)
特点:简单(开箱即用)、快速(无额外开销)、安全(线程安全)
场景:多线程场景(资源持有,线程一致性、并发计算、线程安全等场景)
实现原理:Java中用哈希表来实现。
应用范围:几乎所有提供多线程特征的语言。
3. 总结:
设计者追求开箱即用的体验
学习心得:
本节课我对于ThreadLocal有了一个简单的认识,了解了线程的安全性,一致性等等问题;这是一个必不可少的模块。收获非常大。
课程截图: