我只是在Java中學習一些線程,我想知道是否有人能幫助我。試圖找出線程和Java
我創建了10個整數的列表。我想要做的是有多個線程進入,獲取索引爲0的整數,打印並移除它。我希望這種情況發生,直到列表中沒有更多數字。這是我的代碼到目前爲止。
public class SlothTest implements Runnable{
static ArrayList<Object> test = new ArrayList<>();
static int listSize;
public static void main(String[] args) {
for (int i = 0; i < 10; i++){
test.add(i);
}
SlothTest runner = new SlothTest();
Thread alpha = new Thread(runner);
Thread beta = new Thread(runner);
alpha.setName("Alpha thread");
beta.setName("Beta thread");
alpha.start();
beta.start();
}
@Override
public void run() {
listSize = test.size();
while (listSize > 0){
getLink();
}
}
private synchronized void getLink(){
String threadName = Thread.currentThread().getName();
System.out.println(threadName + " printed " + test.indexOf(listSize - 1));
test.remove(0);
listSize = test.size();
}
}
有人可以幫助指出我做錯了什麼,它可能是很多。
你得到什麼錯誤或輸出? – Dev