/ / Su Android, come continuare a far girare un thread finché non viene interrotto dall'utente? - java, android, multithreading

Su Android, come mantenere l'esecuzione di un thread finché non viene interrotto dall'utente? - java, android, multithreading

Grazie per l'attenzione.

Ecco lo scenario: la mia attività consiste nel fare più volte una semplice simulazione (un gioco giocato da due IA uno contro l'altro), e continuare a farlo fino a quando l'utente preme un pulsante. I dati ottenuti sono usati per rendere l'IA migliore (ho già codificato questa parte e sembra che funzioni).

Voglio che l'attività mostri informazioni di base come il numero di partite già giocate.

Sono abbastanza nuovo per lo sviluppo di Android e Java. So che devo usare un thread separato per fare le simulazioni ma non so come gestirlo, dato che non ho mai usato thread separati finora. Quello che mi infastidisce è: il nuovo thread ha accesso ai metodi e alle variabili pubbliche della classe con cui è stato avviato? Se é cosi, come ?

Ho già letto la documentazione sui thread sul sito web ufficiale degli sviluppatori Android.

risposte:

0 per risposta № 1

Un'istanza di una classe non è legata a nessuna discussionecome il thread principale che lo ha creato. Un Thread creato all'interno di un metodo in una classe avrà accesso ai membri privati ​​di quella classe. Avrà accesso ai membri pubblici in tutti i casi in cui è dato dal suo creatore o può ottenere da un metodo pubblico altrove (ad esempio, una statica o il contesto dell'applicazione).

Quindi con il multithreading devi stare attento comedue thread possono accedere contemporaneamente agli stessi metodi e variabili e non si può mai essere sicuri di quale sarà il primo ad arrivare. Il modo più sicuro è di progettarlo in modo che solo un thread "scriva" sulle variabili e gli altri appena letti.