Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт:
8,237Активность: |
Рекурсивная функция
если вызвать эту функцию, она будет воспроизводится, пока не остановить каким-либо образом, так? [+] замечание от Doc: Название темы.
|
01.01.2012, 12:49 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
Амбидекстрия:
Да, избежать это можно так:
|
01.01.2012, 13:17 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт:
8,237Активность: |
MyRtZ:
ты мне показал как её остановить, да? |
01.01.2012, 13:19 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
Амбидекстрия:
Догодайся, бесконечный вызов приведет к фаталу, если не будет стоять лимита такого рода |
01.01.2012, 13:20 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт:
8,237Активность: |
MyRtZ, я сделал вызов функции в первом посте, и ничего фатала невижу |
01.01.2012, 13:21 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
Амбидекстрия:
Значит поток просто оборвался |
01.01.2012, 13:21 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт:
8,237Активность: |
т.е. я понял, что ты показал, но вроде вызов этой функции к фаталу не привёл у меня. |
01.01.2012, 13:22 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
RoStap
offline
Опыт:
281Активность: |
потому что это дезинфа, произойдет остановка потока только и всего. |
01.01.2012, 13:22 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт:
8,237Активность: |
щас проверю |
01.01.2012, 13:22 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
Амбидекстрия:
В ранних версиях варкрафта был фатал, можешь проверить сколько поток продержался:
|
01.01.2012, 13:24 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт:
8,237Активность: |
Так, смотрите
Запустил игру,(событие в функции запуске mymain - elapsed game time is 0.02 seconds) и у меня на экране были числа, последнее из которых-811, значит, функция запустилась 810 раз?
Амбидекстрия добавил: MyRtZ, невидел твой пост, но сделал почти так же) |
01.01.2012, 13:31 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MyRtZ
offline
Опыт:
6,530Активность: |
Амбидекстрия:
Получается что так, функция запустилась 810 раз.
Имей ввиду что момент обрыва потока наступает тогда, когда поток перегружен (исключение - функции инициалицазии карты(function main)). Я к тому, что если ты уберешь BJDebugMsg из функции, то она продержится в двесятки(а то и сотни) раз больше, чем с ним
Также на загруженность влияет длинна названия функций, которые запускаются в потоке) Отредактировано MyRtZ, 01.01.2012 в 13:40. |
01.01.2012, 13:35 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт:
8,237Активность: |
MyRtZ:
убрал из функции дебагмсг, поставил чтобы через 10 сек после начала игры показало значение LOL запустил, подождал 10сек и увидел на экране 30000 Амбидекстрия добавил: так теперь сделал событие, чтобы если игрок написал в чат lol то показало бы значение LOL, запустиил, сколько не пишу - 30000, значит выполнение обрывается на 30000, можно клозать |
01.01.2012, 13:42 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
|
01.01.2012, 15:12 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|