I have the following code:
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;
        }       
    }
}
}
Basically, the idea of this is that I use multi-threading to check row by row, whether the 2 matrices differ by at least 1 element.
I activate these threads through my main class, passing rows to an executor pool.
However, for some reason, the boolean same does not seem to update to false, even if the if condition is satisfied.
 
     
    