Mqtt app Java multithread

0

Ho un'app Java che funge da server di comando per altri dispositivi e comunica con loro tramite MQTT. Voglio aggiungere una nuova funzionalità e non lasciare che la mia classe mittente (implementata come thread) invii un altro messaggio se la classe ricevente (implementata anche come thread) non glielo consente, diciamo quando un messaggio contenente "ACK "viene ricevuto da un dispositivo.

Sto cercando di ottenerlo con attesa e notifica ma senza fortuna fino ad ora. Come dovrei implementarlo?

Ho provato a inizializzare la classe del mittente all'interno del ricevitore in modo da poter manipolare il thread ma continua a perdere la connessione quando notifica il mittente in modo che ricominci a correre.

Posso caricare il codice se necessario, grazie in anticipo.

    
posta George Sp 20.12.2017 - 14:30
fonte

1 risposta

1

Ho trovato una soluzione al mio problema.

Ho spostato le mie definizioni di classe nel file che esiste main e ho dichiarato una variabile volatile che funziona come un mutex e sincronizza i due thread. Ora funziona come un fascino.

Secondo me questo era un problema di architettura e non strettamente legato alla programmazione. Spero di aiutare qualcuno in futuro con questo.

    
risposta data 20.12.2017 - 16:54
fonte

Leggi altre domande sui tag