View Full Version : [c++]Comunicazione efficiente di eventi
tomminno
23-02-2006, 21:58
Qual è un metodo efficiente affinchè una classe comunichi con un altra la fine di una esecuzione, rispettando il paradigma della programmazione ad oggetti?
Il mio problema è segnalare all'interfaccia grafica realizzata con le wxWidgets la fine di una computazione per poter plottare a video i risultati ogni 25ms. L'implementazione con puntatori, sebbene efficiente, non è certo adatta alla programmazione ad oggetti.
Grazie
Perchè l'implementazione con puntatori è inadatta alla programamzione ad oggetti ?!?!?
Hai a disposizione la classe wxThread per "svolgere i calcoli"...mentre hai a disposizione le classi wxTimer e wxTimerEvent per gestire il plot ogni 25ms...
Se i dati su cui l'evento va a lavorare non sono più utilizzati (dal worker thread) allora può andare direttamente a disgnarli...altrimenti devi usare un metodo di sincronizzazione come ad esempio wxMutex (con wxMutexLocker) o, meglio, wxCriticalSection (con wxCriticalSectionLocker)...
tomminno
24-02-2006, 09:14
Perchè l'implementazione con puntatori è inadatta alla programamzione ad oggetti ?!?!?
Hai a disposizione la classe wxThread per "svolgere i calcoli"...mentre hai a disposizione le classi wxTimer e wxTimerEvent per gestire il plot ogni 25ms...
Se i dati su cui l'evento va a lavorare non sono più utilizzati (dal worker thread) allora può andare direttamente a disgnarli...altrimenti devi usare un metodo di sincronizzazione come ad esempio wxMutex (con wxMutexLocker) o, meglio, wxCriticalSection (con wxCriticalSectionLocker)...
Effettivamente sono eventi temporizzati, ma la temporizzazione dipende dal Worker Thread. La classe delle wx più adatta alle mie esigenze sarebbe un CustomEvent, ma la classe non eredita un componente delle wx e non posso sollevare un evento.
Grazie
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.