Questione : Servizio del async o filettata

Ciao, il bisogno del

I piccolo raccomanda in che percorso di fabbricazione del programm per scegliere. Stavo chiedendo a
about questo qualche tempo fa, ma ora ho visione più chiara di questo. Il App è servizio, quell'aspettare l'inizio attività dell'utente ed inizio il mio altro app. Esso anche vigilanze per fare il mio app che funziona sempre. E ofcourse fa questo per utente che è inizio attività. Così, quando l'utente loged sopra e commuta ad un altro utente allora che il nuovo utente ha nuovo caso di programm e quello precedente avere ancora suo app running.

So, io hanno funzionalità da ascoltare quando inizio attività dell'utente (ISensLogon). Non so sono questo realmente necessario. Poiché posso guardare sempre sono processo che funziona in alcuni intervalli di tempo facendo la funzionalità di mutex.

Second devo guardare sono processo che funziona facendogli il mutex e l'aspettare. (In futuro faccio alcuni meccanismi supplementari, come il IPC). il

I deve soluzioni:

1. asincrono - il
I ha fatto il codice categoria semplice per aiutarlo a trattare gli oggetti del nocciolo delle finestre (evento, mutex). Con esso, posso aggiungere l'evento in modo da il codice categoria può aspettarlo e quando occure di evento esso funzione del fuoco che binded a questo evento in esso inicialization. la mia idea del

So è “aggiunge„ l'evento che guarda per l'inizio attività dell'utente. Quando l'evento accade, la funzione infornata “aggiunge„ il nuovo evento che aspetta il mutex. E quando questo evento accade il relativo inizio process.

LogonEvent->SetCommand (AddMutexEventToEventListener);
EventListener->Add (LogonEvent); il


2. ha filettato - filetto principale del

In, aspetto semplicemente l'inizio attività dell'utente. Dopo, quando l'inizio attività dell'utente io fa il nuovo filetto che fa funzionare il processo e la vigilanza per mutex.

I avere grande desiderio di scegliere il metodo del asynch perché sembra a me essere ambizioso. Ma il più duro al codice ed al codice sarà il più duro a manutenzione che penso. La soluzione filettata è pulitore del hmm i think.

Could che qualcuno mi dà il adivse. Forse io omitt qualche cosa di importante?

class= del

Risposta : Servizio del async o filettata

Il primo modello che avete accennato realmente ha un nome. Ha denominato il modello “del reattore„, che trasforma gli eventi basati votazione attesa/prescelti che controllano nelle chiamate ripetute determinate evento (mi domando se ecco perché il relativo reattore denominato). Il reattore (componenti principali) lo fa tutti i lavoro e pollling sporchi può dirlo semplicemente di infornare un evento quando qualcosa accade. http://en.wikipedia.org/wiki/Reactor_pattern

Sta ritornando alla domanda di cui più importante, buona osserva come bisogno del alwaysd un filetto dell'operaio, per essere quello per il reattore o il filetto trattato del monitor (a meno che il reattore sia in se using l'api determinato evento). Se quello è il caso allora che il beneficio del reattore è più evidente se avete molti molti eventi da guardare allo stesso tempo, come dire nel vostro caso se dovete controllare le dozzine dei processi/dei mutexes allora un reattore lo conserva il costo di un filetto per monitor.

Da un lato, se relativo appena un aspetto di singolo filetto dell'operaio allora perché aggiungere la complessità quando potete dirigere facilmente le cose con un filetto del monitor? È sicuro è ambizioso e tentante di andare con i disegni specializzati (particolarmente quando siete arrivato ad uno voi stessi); Posso capire lo stimolo:) ma occuparselo, l'affidabilità, facilità di uso e la manutenzione è più importante del disegno operato. Dopo tutti, il vostro utente non si preoccupa i whethers il relativo reattore basato disegno oppure no.

Suggerisco che inviate ulteriori particolari, particolarmente riguardo allo scalabity indago. Come, quanto oggetti possono voi guardare allo stesso tempo (massimo), quanti processi ecc.

Sperare che aiuti…

Altre soluzioni  
 
programming4us programming4us