【发布时间】:2020-12-13 23:17:09
【问题描述】:
我有以下代码:
public class CheckIfSame implements Runnable {
private int[][] m;
private int[][] mNew;
private int row;
private boolean same;
public CheckIfSame(int[][] m,int[][] mNew,,int row,boolean same) {
this.m = m;
this.mNew = mNew;
this.row = row;
this.same = same;
}
@Override
public void run() {
for (int i = 0; i < mUpd[0].length; i++) {
if(m[row][i] != mUpd[row][i]) {
same = false;
}
}
}
}
基本上,这样做的想法是我使用多线程逐行检查 2 个矩阵是否至少相差 1 个元素。
我通过我的主类激活这些线程,将行传递到执行器池。
但是,由于某种原因,即使满足 if 条件,布尔值似乎也不会更新为 false。
【问题讨论】:
标签: java multithreading concurrency parallel-processing