访问线程中的变量

时间:2015-04-02 00:23:48

标签: java multithreading

我尝试使用任意数量的工作线程来处理arraylist。我想跟踪每个工作线程处理了多少项,并在一定数量后终止它们。在工作线程类中为计数器声明一个变量并检查该计数器是一种有效的方法吗?

.
.
Thread t = new Thread();
t.start
while(true){
 if(t.counter >= 5){
  return;
 }
}
.
.

class Thread{
    int counter = 0;
    public void run {
        while(true){
         do something....
         counter++;
        } 
    }
}

1 个答案:

答案 0 :(得分:0)

我就是这样做的:

int counter = 0;

Thread t = new Thread(new Runnable(){
    public void run {
        while(true){
            doSomething...
            counter++
        }
    }

});
t.start();

while(true){
    if(counter >= 5){
        return;
    }
}

作为你的问题的答案......我不知道有什么方法可以访问另一个线程的runnable。可能会有,但上面的代码可以正常工作。