有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如果我们在构造函数中设置值,是否需要java ThreadLocal?

我有一个类MyThread,它实现了Callable<;字符串>;。该类有一个构造函数,它接受blockingqueue等参数。在我的主类中,我用一个新的阻塞队列和其他参数实例化了这个类MyThread。此外,我还维护了两个映射,一个用来保持MyThread引用,其中一个是唯一参数作为键,另一个用来保持阻塞队列引用,使用相同的唯一键

在这个过程中,我从hashmap中获取这个阻塞队列,添加我的自定义消息,并获取相应的MyThread实例,然后提交给ThreadPoolTaskExecutor(Spring版本)

据我所知,每个线程都应该获得自己的值副本(如阻塞队列等),因为我在构造期间传递这些值,然后使用ThreadPoolTaskExecutor创建一个线程。提交(myThreadObj)。我只是想知道是否有人可以确认这是真的,或者我是否需要在这个场景中使用ThreadLocal。到目前为止,在测试中,我没有遇到问题,但我还没有进行负载测试

提前谢谢


共 (0) 个答案