1.Slot对象
Slot实际上就是一个元数据对象
将我们自定义的上下文注入给Slot对象,一个线程一个Slot对象。而Slot对象里面可以获取到当前我们线程自己定义的上下文对象
而多线程的情况下,Slot对象又是存放在哪里?
此时又有一个对象DateBus对象
其中DateBus 对象有一个concurrentHashMap 存放Slot对象
那么他是如何获取到对应的Slot对象?
执行的时候,调用doExcute方法
在offerSlotByClass方法中,会创建Slot对象,并调用offerIndex方法
而NodeComponent对象中,之所以能获取到上下文,也是通过Slot对象获取
那么NodeComponent对象的Slot对象哪来?
还记得刚刚的DataBus对象吗? 其中有一个ConcurrentHashMap 存放的就是Slot对象
那么索引又从哪来?
索引在ThreadLocal 中放着当前线程的索引值