4go10_frank
offline
Опыт:
2,089Активность: |
Не останавливать выполнение функции
Допустим в функции func1 содержится действие, запускающее функцию func2. При этом в последней есть wait'ы. Вопрос: можно ли продолжить выполнение функции func1 после запуска func2 не дожидаясь окончания действий func2? |
11.08.2008, 22:11 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
вопрос поставлен неправельно, тут вопрос не в функциях, а в потоках
если ты запускаеш func1 в какомто потоке то она продолжает в нем выполнятся, если вы запускаете в ней функцию func2 то эта функция выполняется в томже потоке, один поток не может выполнять одновремено более одного "потока" действий потому единственый выход - это создавать новый поток: 1) ExecuteFunc() Навый поток создастся и запустится прямо в момент создания 2) создать непериодический таймер с действием этой функции через 0 секунд новый поток создатся и запустится сразу после окончания текущего потока 3) или триггер и запустить TriggerExecute() хз, неправерял иначе никак Отредактировано Jon, 11.08.2008 в 22:38. |
11.08.2008, 22:29 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
4go10_frank
offline
Опыт:
2,089Активность: |
А куда пихать execute func? Вместо вызова func2? |
11.08.2008, 22:32 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
call ExecuteFunc("func2")
func2 не должны иметь никаких пораметров |
11.08.2008, 22:32 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
4go10_frank
offline
Опыт:
2,089Активность: |
Ясно, спс |
11.08.2008, 22:47 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
потоки могут прерываться в некоторых случаях, уступая место другому
вейты лучше не юзать |
12.08.2008, 12:06 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|