我正在尝试执行以下操作 -
- 创建了一个线程
- 创建新线程时,它会更新前一个线程的变量
limit
- 第三个线程的进度重复,即该线程更新
limit
线程 ID1 和 ID2 的变量。
这是一些示例代码
主班
public class TaskImplementer {
public static int End;
public static int threadCount = 5;
public static void main(String[] args) {
int i=0;
findEnd();
while (i < threadCount) {
if(isPossible()) { // check for some condition
createThread aThread = new createThread(i, End);
aThread.start();
}
i++;
//updateGUI(); //updateGUI - show working Threads
}
}
private static void findEnd() {
//updates End variable
}
private static boolean isPossible() {
//.....
//Check for a condition
return false;
}
}
创建线程类
public class createThread extends Thread {
private static int ID;
private static int limit;
private static int startfromSomething;
public createThread(int ThreadID, int End) {
ID = ThreadID;
limit = End;
}
private void doSomething() {
//does work
}
@Override
public void run() {
while(startfromSomething < limit) {
doSomething();
}
TaskImplementer.i--;
}
}
limit
成功创建后,每个线程都需要更新该变量。有可能吗,请提出一些建议。提前致谢。