|
Тема |
Re: actions, threads, chain-of-actions [re: tikva] |
|
Автор |
Formal (незнаещ) |
|
Публикувано | 26.06.07 10:20 |
|
|
Аз виждам 3 проблема тук:
1. По принцип е възможно да направиш InitChain докато върви runner thread-а, което може да има нежелани последици (може да се загубят actions)
2. Ако дойде един user action и ако (преди да е тръгнал да се изпълнява) дойде втори user action, първият ще се загуби.
3. В help-а пише, че за VCL controls не се гарантира, че са thread-safe и че ако бараш контроли, това да става само от главната нишка. Виж help-а за Synchronize().
За глобалните променливи:
В твоя случай ми се струва, че глобалните променливи би трябвало да принадлежат на TClientActionRunner (или поне да са в implementation частта). Тогава TClientActionRunnerThread трябва да има reference към TClientActionRunner. А пък ако няма да правиш повече от един TClientActionRunner, може да го махнеш и да направиш методите му нормални процедури.
|
| |
|
|
|