我想知道在这种情况下我是否可以多线程处理我的双循环。 在第二个for循环中,如果某些条件完成,我将布尔值发送给true 在第一个循环中使用此布尔值的结果。在这种情况下,多线程是否会破坏结果?如果不是,它会增加计算事件的速度吗?
这是我的代码:
img
我会在这里感谢一些帮助。
答案 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,看看如何实现线程。