我有一个类 MyThread,它实现了 Callable <String>。该类有一个构造函数,它接受阻塞队列等参数。在我的主类中,我使用新的阻塞队列和其他参数来实例化这个类 MyThread。另外,我维护了两个映射,一个用于保持 MyThread 引用,其中一个唯一参数作为键,另一个用于保持阻塞队列引用具有相同的唯一键。
在此过程中,我从 hashmap 中获取这个阻塞队列,添加我的自定义消息并获取相应的 MyThread 实例并提交给 ThreadPoolTaskExecutor(Spring 版本)。
据我了解,每个线程都应该获得自己的值副本(如阻塞队列等),就像在构造过程中传递它们并稍后使用 ThreadPoolTaskExecutor.submit(myThreadObj) 创建线程一样。我只是想知道是否有人可以确认这是否属实,或者我是否需要在这种情况下使用 ThreadLocal。到目前为止测试,我没有遇到问题,但是我还没有做负载测试。
提前致谢。