2016-11-09 60 views
0

我创建了一个可运行的类A,它为我执行一些任务。我使用ExecutorService提交这个类,以便我可以并行执行这些任务。在java中调用AsynFuture的线程共享对象

可运行类A调用另一个发送AsyncFuture请求(future.get()one)的对象B.

我将可运行类A的单独对象提交给ExecutorService,但是,类B的对象正在由bean(单例)引用。这会导致线程执行中的问题吗?

我注意到A类的某些对象没有被任何线程执行。

我读了一些关于使用ThreadLocal的内容,但我不确定它是否适用于此。

+0

通常,对单例的方法调用是线程安全的,除非对象B单例的某个属性在B上的方法被调用时正在更新。你能发布B类代码吗? – Zeus

+0

你能展示一些代码吗? – pbajpai21

回答

1

引用来自不同对象的单例bean,尽管跨单独的线程确实会造成瓶颈。为我工作的唯一解决方案是在A的初始化中查找这个bean。