CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 9mm con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 8 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 29 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 3 su 3
Discussione:

TimerTask

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jun 2011
    Messaggi
    43

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    TimerTask

    Ciao ragazzi, ho un problema che non riesco a risolvere. Ho realizzato una specie di orologio che ogni secondo fa partire un Timer (alla fine si tratterebbe di n thread). Ogni Thread che parte fa una determinata logica, per esempio colora un testo, salva un record sul db etc etc. I Timer lanciati sono circa 400. Dopo 1 minuti circa, mi accorgo che il timer non è più sincronizzato col tempo reale. Per esempio passa un secondo nella realtà e invece nell’orologio dell’app ancora deve scattare. E’ possibile che dopo n thread lanciati si sputtani qualcosa?

    Grazie mille
    Ciao Salvo

  2.  
  3. #2
    Senior Droid


    Registrato dal
    Aug 2011
    Località
    Roma
    Messaggi
    406
    Smartphone
    Nexus 5

    Ringraziamenti
    6
    Ringraziato 32 volte in 29 Posts
    Predefinito

    Vatti a leggere un pò di materiale sui thread, su cos'è lo scheduling e come il sistema gestisce queste due cose.
    Oltre ai thread relativi alla tua applicazione, il sistema deve far girare altre applicazioni ed altrettanti thread, e l'uso della cpu non è certamente riservato per un tempo indefinito ad un unico thread. Di conseguenza ogni thread occupa la cpu per un certo lasso di tempo, viene "messo da parte" dal sistema allo scadere di questo tempo se ancora non ha terminato la sua esecuzione, un altra applicazione occuperà la cpu per un altro lasso di tempo, dopo alcuni istanti il tuo thread potrà di nuovo usufruire della cpu, e così via. Capisci perchè le tempistiche tra i tuoi differenti timer ed il tempo reale sono sballate.

  4. #3
    Androidiano L'avatar di iClaude76


    Registrato dal
    Oct 2012
    Località
    Trento
    Messaggi
    207
    Smartphone
    Galaxy S3, Nexus 7, G. Tab 2 7

    Ringraziamenti
    1
    Ringraziato 27 volte in 25 Posts
    Predefinito

    Prova a dare un'occhiata al metodo scheduleAtFixedRate della classe Timer:
    Timer (Java Platform SE 6)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy