Собственно, недавно опять случилось столкновение с принудительным завершением потока.
Поскольку уже прямо впихиваю в war3map.j, файл был открыт блокнотом и прямо там прямо в InitCustomTriggers несколько вызовов функций переписано на ExecuteFunc, проблема исчезла.
И возник вопрос: а почему вообще сразу все функции подобным образом не айнитятся через ExecuteFunc в разных потоках, чтобы проблемы принудительного завершения потока вообще не существовало? Чем это нехорошо?

потому что близзарды с подобным не сталкивались
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
16
потому что близзарды с подобным не сталкивались
Принятый ответ
22
еще если так запустить слишком много потоков варик фаталит
пробовал сделать большой цикл через execute, но пришлось разбивать на части с задержкой таймерами по 0 сек, хотя потоки и запускались один за другим а не одновременно
21
biridius, о, так-так, спс за инфу, а то была уже мысль все call переписать на ExecuteFunc
и насколько большой цикл вызывал фатал?
22
ClotPh, хз, не измерял, цикл был для поиска пути или расчета движения юнитов по шкале инициативы, уже не помню
но в районе 20 экзекутов, не много
12
biridius:
ClotPh, хз, не измерял, цикл был для поиска пути или расчета движения юнитов по шкале инициативы, уже не помню
но в районе 20 экзекутов, не много
В первый раз слышу про такую проблему. У меня в цикле экзекут вызывался до примерно 1000-ти раз за один цикл (по 5-10 раз на каждый юнит на карте), без каких-либо вылетов.
22
Sergarr, 5-10 раз из forgroup?
у меня одни экзекуты вызывали другие экзекуты, но как разбил чтобы каждые 10 итераций был таймер на 0, заработало
28
biridius, у тебя не количество потоков было а переполнение стэка вызовов
подобное можно наблюдать у любой рекурсии с большим количеством итераций
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.