作者:京东物流 闫鹏勃1 什么是ThreadLocal?ThreadLocal是一个关于创建线程局部变量的类。通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。而使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改。
ThreadLocal想必都不陌生,当多线程访问同一个共享变量时,就容易出现并发问题,为了保证线程安全,我们需要对共享变量进行同步加锁,但这又带来了性能消耗以及使用者的负担,那么有没有可能当我们创建一个共享变量时,每个线程对其访问的时候访问的都是自己线程的变量呢?
场景考虑:发送Topic消息报该错误,com.alibaba.rocketmq.client.exception.MQBrokerException: CODE: 2 DESC: broker busy, start flow control for a while, period in queue: 208ms, size of queue: 8。