小编mma*_*ian的帖子

如何将for循环的索引变量传递给匿名的Thread/Runnable

我搜索过类似的问题,但他们没有涉及for循环.我有以下代码:

    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();}
            }
        };
    }
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我希望通过自己的线程加载每个图像文件以优化一点.不幸的是,for循环的变量i不能通过run方法传递,我不能使它成为final或static.你怎么解决这个问题?

java io multithreading for-loop file

1
推荐指数
1
解决办法
667
查看次数

标签 统计

file ×1

for-loop ×1

io ×1

java ×1

multithreading ×1