我有一个名为OBJ的对象,它实现了Runnable.
它有一些成员,一个构造函数,一个run()方法和一个特定计数的getter(其中一个成员).
在我的main方法中,我有一个线程数组,每个线程都是一个新的OBJ,每个线程都在run()方法中进行一定的计算并将其保存在计数中.
现在,我想要另一个循环(除了我已经启动了所有线程的循环),并且每个线程等待它完成,然后使用count getter来计算我从中得到的所有计数线程.
如何通过线程到达getter?
解决方法:
好吧,在到达线程循环之前创建OBJ实例:
List<OBJ> objects = new ArrayList<OBJ>();
// Create your objects here
for (int i = 0; i < NUM_OF_OBJ; ++i) {
objects.add(new OBJ());
}
// Run the threads
List<Thread> threads = new ArrayList<Thread>();
for (int i = 0; i < NUM_OF_OBJ; ++i) {
Thread t = new Thread(objects.get(i));
threads.add(t);
t.start();
}
// Wait for the threads to finish
for (Thread t : threads) {
t.join();
}
// Sum all counts
int sum = 0;
for (OBJ object : objects) {
sum += object.getCount();
}