0
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
         }
}     

我如何在所有线程中共享一个数组列表,我不想使用静态,因为它每次运行都会不断累积结果,线程本地是一个不错的选择吗?

试图避免额外的对象及其各自的 getter / setter ?

4

2 回答 2

1

您现在拥有的是线程共享列表。除非您同步,否则在此对象上运行的所有线程(假设仅存在此对象的一个​​实例)共享相同的列表。

于 2012-08-10T02:44:04.020 回答
0

我知道你有你的答案,但我不明白答案或问题,因此需要问。所以,你的问题看起来像这样?您有一堆 Callables 将在单个列表上执行一些工作,因此该列表在线程之间共享?然后你需要使这个列表线程安全,并且使对象列表线程安全并不是那么简单(你自己),除非你使用 Java 已经给出的东西

于 2012-08-10T05:29:53.813 回答