我想實現在我的代碼中使用一個隊列。關鍵是我希望它能夠打印出文件中的字數總量,這意味着我需要它在完成時將所有結果添加到一起。使用BlockingQueue的
當前,我的程序所做的是,我有一個讀取器運行文件,並返回一個包含文件名稱的字符串以及其中的單詞量。然後我使用我的主要方法來運行args數組中給出的每個參數的for循環。每次我們通過一個新文件來檢查有多少單詞時,我們就會將它變成一個新線索。
public static void main(final String[] args) {
Thread t = null;
if (args.length >= 1) {
String destinationFileName = args[(args.length-1)];
for (int l = 0; l < (args.length); l++) {
final int q = l;
final Thread y = t;
Runnable r = new Runnable() {
public void run() {
String res = readTextFile(args[q]);
System.out.println(res);
}
};
t = new Thread(r);
t.start();
}
} else {
System.err.println("Not enough input files");
}
}
所以,我怎麼做一個隊列,不知怎的,使它們互相等待,因此,它不會使增加了結果的確切同一時間的錯誤呢?