|
Тема |
Re: Става пожар [re: nop] |
|
Автор | tikva (Нерегистриран) | |
Публикувано | 18.06.07 11:13 |
|
|
Wow, мерси за изчерпателното мнение :)
ще го изчета още няколко пати внимателно, но и сега получих отговор на основните ми въпроси :)
по въпроса за "веригата"
main-thread || separate thread
MainCode | core ||
на практика MainCode и core
са в един thread.
chain: array of actions
continueChain: boolean
executeNextInChain()
тук проверявам дали continueChain e true
и ако е изпълнявам поредния action:
MainCode.action ==> core.doSomething || ----> doSomething пуска нов thread
междувременно executeNextInChain завършва.
след известно време
MainCode <=== core.Done || <--- като завърши thread-a има event
В момента се опитвам при действие от страна на user-a да сложа флага на false и просто да отбележа кой е този userAction.
в executeNextInChain ако флага е false да изпълня този userAction.
в userAction слагам флага пак на true и стартирам първия action от "веригата".
все още имам проблеми, но мисля че би трябвало така да се получи, пък и на първи прочит мисля че и ти предлагаш нещо подобно.
пак мерси за подробните обяснения :)
|
| |
|
|
|