随笔分类 - 多线程
摘要:一个场景: 某段代码只对同一个ip过来的请求同步处理: 比如ip为a的请求进入了同步代码块,那么后续的ip为a的请求则在代码块外边等着,这时来了一个ip为b的请求,那么这个请求也可以进去,也就是a的所有请求们是同步处理的,b的所有请求也是同步处理的,但是a和b互相不影响。 一般可能会这样写代码: 这
阅读全文
摘要:通常我们为了规避单例模式下多线程之间共享全局变量的问题,会使用ThreadLocal,不过很多人不知道ThreadLocal里数据的存储方式和我们平时理解的不太一样。 源码解析(直奔主题): 每个线程都有一个ThreadLocalMap对象: 这个Map里存了所有线程变量中保存的数据,保存的方式:
阅读全文