Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Algoritmi - Consulenza su come costruire algoritmo Client
Forum - Algoritmi - Consulenza su come costruire algoritmo Client - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
macco_cl (Normal User)
Rookie


Messaggi: 34
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 15:56
Giovedì, 14/07/2016
Ti ringrazio per l'aiuto, mentre aspettavo una tua risposta mi sono messo a studiare un pochino l'argomento e questo è quello che ho capito (ti prego di correggermi se sbaglio):

Ho bisogno di un Thread principale che solitamente è il main thread, e solitamente si lancia con il main, successivamente dentro questo processo devo lanciare i miei thread per la lettura dei sensori, nel mio caso specifico avrò 3 thread:

- Uno per la lettura continua del sensore per il conteggio delle persone
- Uno per la lettura continua del sensore di localizzazione
- Uno che controlli costantemente lo stato della porta seriale

Questi 3 thread fanno cose indipendenti e quindi non è necessario che comunichino tra loro.

Questi 3 thread appena rilevano un evento lo comunicano al server, il quale essendo sempre in ascolto sul canale si preoccupa di leggere l'evento e decidere cosa farne, o meglio in quale tabella del DB andare ad archiviare i dati.

Corretto? Grazie mille

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 19:37
Giovedì, 14/07/2016
Senza conoscere le specifiche del sistema, si, può essere un implementazione valida.

PM Quote
Avatar
macco_cl (Normal User)
Rookie


Messaggi: 34
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 10:43
Venerdì, 15/07/2016
Ho un dubbio riguardo la gestione condivisa di una risorsa, sicuramente tu che hai esperienza in questo ambito potrai chiarirmelo.

I 2 thread riguardanti i sensori di localizzazione e conteggio delle persone in caso di eventuali aggiornamenti, dovranno comunicare con il server attraverso un socket, solo che il server è sempre in ascolto in attesa di un evento, potrebbe quindi essere possibile che il conteggio delle persone e la localizzazione della persona debbano essere inviati allo stesso tempo al server, come posso gestire questo? dovrò mettere una Lock o semaforo sull'uso del socket? o si fa in un altro modo?


PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 13:36
Venerdì, 15/07/2016
Lasciare che sia solo il thread principale ad inviare i dati, quelli secondari potrebbero solo reperirli e caricarli nella memoria del processo, può andare?

PM Quote
Avatar
macco_cl (Normal User)
Rookie


Messaggi: 34
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 11:20
Lunedì, 18/07/2016
Si, mi sembra una buona soluzione ma rimango ancora confuso sulla condivisione delle variabili e quando usare le chiamate di funzione Lock o semafori, perché comunque i miei thread legati ai sensori salveranno le loro letture dentro determinate variabili, che però poi devono essere prese dal thread principale e inviate al server giusto? Non avrei comunque bisogno di gestire l'accesso alle variabili in cui andrei a salvare le letture?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo