小范围同步111111

累计11111111

程序,数据收集11111

模型1111111

ThreadLocal模型

完全避免同步(难)
缩小同步范围(简单)+ ThreadLocal解决问题
ThreadLocal模型
老师的意思是原来是对add()方法加锁。实际生产中add()方法里可能存在对数据库即IO或者redis即内存等一些操作。如果对这一步进行加锁。每一次都要等这部分的时间。
而现在把锁加载了set上面了。就变成小面基了。只是操作了下set,往里面add一个元素而已。
看一下这一行代码有点难度理解的时候,回头再理解一下。
threadlocal处理模型
111111
总结:
完全避免同步(难),但可以缩小同步范围(简单)+ThreadLocal解救问题
高并发请求,同时需要高并发处理,示例代码
通过synchronized 方法最小化的加锁存在多线程不安全的代码(线程临界区代码)
通过HashMap或HashSet集合收集保存每个线程中的数据,
统计时在遍历HashMap或HashSet中在各个线程中所存储的变量的值,进而的到正确的并发结果