@out
или все таки продолжать делать методом: в onappstart в глобальную переменную читать файл, а после читать глобальную в локальную переменную ?
Да, именно так.
Т.е. одни и те же данные держать в разных переменных (больше расхода RAM). Каждый поток будет считывать с глобальной в свою локальную.
Если там очень большой массив, можно читать его не весь, а только отдельные элементы.
Например,
В OnApplicationStart
PSet("Array Name","0","line0")
PSet("Array Name","1","line1")
PSet("Array Name","2","line2")
В потоке
[[FIRST_LINE]] = P("Array Name","0")