Voglio creare un'app Android multithread. Il mio problema è la comunicazione tra i thread. Ho letto della comunicazione tra i thread e mi sono imbattuto in cose come Looper/Handler design, che sembrava abbastanza complicato e Variabili Atomiche come AtomicInteger. Per ora, ho usato AtomicInteger come comunicazione, ma dal momento che non ho molta esperienza in Java, non sono sicuro che nel mio caso non funzioni bene/se c'è una soluzione migliore per il mio scopo particolare. Inoltre ho avuto un po 'di sospetto sul mio metodo, quando ho notato che ho bisogno di qualcosa come AtomicFloat, ma non esiste. Mi sentivo come se mi mancasse il concetto. Ho anche scoperto che puoi farti un AtomicFloat, ma non sono sicuro se sono sulla strada giusta o se c'è una tecnica migliore.
Domanda: Va bene/usare le variabili atomiche e implementare anche AtomicFloat per il mio particolare scopo (descritto di seguito) o esiste un modo migliore di gestire la comunicazione?
Scopo/Architettura di App usando AtomicVariables finora:
Ho 4 discussioni con le seguenti finalità:
1.SensorThread: Legge i dati del sensore e salva i valori più recenti in AtomicVariables come
AtomicFloat gyro_z,AtomicFloat gyro_y, ...
2.CommunicationThread: comunicazione con il PC, interpreta i comandi che vengono formare la presa e impostare lo stato dell'applicazione in termini of a AtomicInteger: AtomicInteger state;
3.UIThread: visualizza i valori dei sensori di corrente da AtomicFloat gyro_z, AtomicFloat gyro_y,
4.ComputationThread: utilizza valori sensore AtomicFloat gyro_z,AtomicFloat gyro_y, ...
e stato AtomicInteger state
per eseguire calcoli e inviare comandi tramite USB.
Sembra che si possa fare con un galleggiante volatile. – assylias
Si prega di dare un'occhiata a questo post: http://stackoverflow.com/questions/5505460/java-is-there-no-atomicfloat-or-atomicdouble –
@Perroloco ho letto che, ma i più bassi due risposte dicevano che si usa quello veramente raro. A me sembrava logico che AtomicFloat dovesse esistere. questo perché ho messo in discussione il mio uso di loro –