使用boolean里面的Multhreading Java double for循环

时间:2017-05-26 01:33:22

标签: java multithreading for-loop

我想知道在这种情况下我是否可以多线程处理我的双循环。 在第二个for循环中,如果某些条件完成,我将布尔值发送给true 在第一个循环中使用此布尔值的结果。在这种情况下,多线程是否会破坏结果?如果不是,它会增加计算事件的速度吗?

这是我的代码:

img

我会在这里感谢一些帮助。

1 个答案:

答案 0 :(得分:0)

所以你想创建一个新的线程来运行每个for循环中的代码?如果你在当前的实现中这样做,它可能会中断,因为ispresent变量将在两个线程的范围内,这肯定会导致问题。

如果你将内部for循环完全放在一个单独的类中,它将内部循环作为一个线程运行,并负责添加到该方法内部的arraylist,就像这个伪代码一样:

class threadedLoop{
 public void run() {
        //Do your loopy stuff
        //if ispresent then add to arraylist you passed as parameter
    }

    public static void main(String args[]) {
        (new threadedLoop()).start();
    }
}

然后,您将消除任何可能的冲突的风险,并应该看到您的程序的速度提高!看看here,看看如何实现线程。