remove comment is run this in debug console. one loop writes false into 1st element of array and checks that it is not true, the other writes true. If the loop that writes false goes into suspension before it can check the element, the "true" loop can overwrite it before the 1st script is finished.
array = [];
l2 = [] spawn {
while {true} do {
array set [0, true];
};
};
l1 = [] spawn {
player sidechat "START";
for "_j" from 1 to 1000 do {
for "_i" from 1 to _j do {
null = _i;
};
array set [0, false];
//--- possible script suspension here ---
if (array select 0) then {
player sidechat str ["array select 0 is true!", _j];
};
};
terminate l2;
player sidechat "FINISH";
};