我搜索過類似的問題,但他們並沒有涉及for循環。 我有下面的代碼:如何傳遞的索引變量for循環匿名線程/ Runnable的
image = new BufferedImage[maxFiles];
for (int i = 0; i < maxFiles; i++) {
new Thread(){
public void run() {
try {
file = new File("0" + i + ".jpg");
image[i] = ImageIO.read(file);
} catch (IOException e) {e.printStackTrace();}
}
};
}
正如你可以看到我想通過自己的線程加載每個圖像文件來優化一下。 不幸的是,可變我的for循環無法通過運行方法過去了,我也不能使它最終還是靜態的。你會如何解決這個問題?
出於好奇,有多少文件是'maxFiles'?一次創建無限數量的線程通常是一個壞主意。你有沒有考慮過使用_thread pool_呢? –