Да виснит, вот еще пример. На втором проходе скрипта кликер виснит
Upd..
Понял почему виснит. Переменная в for теперь не сбрасывается, в результате на втором проходе цикл пропускается и функция tfwritearr пытается записать несуществующий массив. Все дело в tfwritearr
THREAD(name1, 0)
for($b, $b<1000)
ARRPUSH($arr_out, rnd(1,99))
end_cyc
$check1 = 1
SETTHREAD (name1, 0)
END_THREAD
THREAD(name2, 0)
for($с, $с<1000)
ARRPUSH($arr_out, rnd(1,99))
end_cyc
$check2 = 1
SETTHREAD (name2, 0)
END_THREAD
//=============================================
$ms = $_ms
for($a, $a<2000)
ARRPUSH($arr_out, rnd(1,99))
end_cyc
tfwritearr("arr_save_1.txt", $arr_out)
LOGWRITE ("Тест 1: ",$_ms-$ms)
UNDEFINE($arr_out)
$ms = $_ms
SETTHREAD (name1, 1)
SETTHREAD (name2, 1)
WHILE(($check1 = 0) | ($check2 = 0))
WAITMS(20)
END_CYC
$check1 = 0
$check2 = 0
tfwritearr("arr_save_2.txt", $arr_out)
LOGWRITE ("Тест 2: ",$_ms-$ms)
UNDEFINE($arr_out)
//HALT // Без хальта на втором проходе висяк