class A implements Callable{
List result // want to share this List amongst thread and their function call
public Search call() {
List<Job> Jobs = api. Jobs(a,b,c); // Multiple threads
}
}
class API{
public void jobs(a,b,c){
// want to access the A.Result and populate the result
}
}
我如何共享数组列表amogst all threds,我不想使用Static, 因为它会在每次运行时不断累积结果, Thread Local是一个很好的选择吗?
试图避免额外的对象及其各自的getter / setter?
答案 0 :(得分:1)
你现在拥有的是线程共享列表。所有线程都在此对象上运行 (假设只存在此对象的一个实例)除非您同步,否则共享相同的列表。
答案 1 :(得分:0)
我知道你有答案,但我不明白答案或问题,因此需要问。那么,你的问题看起来像这样吗?你有一堆可以在SINGLE列表上执行某些工作的Callables,因此这个列表在Threads之间共享?然后你需要使这个列表线程安全,并创建一个对象列表线程安全不是那么简单(你自己),除非你使用已经由Java提供的东西