Nokioteca [Nokia] Forum: Spiegazioni Ao_yield E Ao_lock - Nokioteca [Nokia] Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

Spiegazioni Ao_yield E Ao_lock

#1 L   acasta69 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 20
  • Iscritto: 11 settembre 2008
  • Cellulare:Nokia E51

Inviato 24 settembre 2009 - 17:33

Ciao a tutti,

mi spiace disturbare con una domanda che piu' "di base" non si puo', ma appunto per questo preferirei capire bene...
Tenete presente che, oltre ad essere nuovo del forum, sono un novellino della programmazione in Python e ancora di piu' in S60...

Mi spieghereste con parole semplici la differenza fra l'uso di e32.ao_yield() e Ao_lock.wait() ?
Quando devo usare uno e quando l'altro?
L'effetto finale, che se ho capito bene e' permettere al sistema di eseguire altre operazioni, e' lo stesso?

Grazie!
Alessandro
0

#2 L   madhacker 

  • Senior Member
  • PuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 527
  • Iscritto: 16 settembre 2006
  • Cellulare:N95-2,5800

Inviato 24 settembre 2009 - 20:28

a
Per visualizzare questo link registrati o esegui il log in.
puoi leggere un piccolo script che ti rende l'idea di e32.ao_yield(). Ti copio quanto scritto

Quote

S60 phones use cooperative multitasking. You call e32.ao_yield() here and there to let other tasks run before they return back to you. e32.ao_lock() also plays a role when you wait for callback.

per quanto riguarda e32.ao_sleep(i) serve a mettere in pausa l'applicazione per un tot numero di secondi (indicato tra parentesi) prima che essa proceda ad eseguire il codice sottostante
0

#3 L   acasta69 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 20
  • Iscritto: 11 settembre 2008
  • Cellulare:Nokia E51

Inviato 24 settembre 2009 - 22:38

Grazie madhacker,
allora, se ho capito bene, e32.ao_sleep mette in pausa l'applicazione per tot secondi, mentre ao_lock.wait() la mette in pausa indefinitamente (fino all'uso di signal()).
Invece non mi e' ancora molto chiaro l'uso di ao_yield: in questo caso, quando torna il controllo alla mia applicazione?
Grazie ancora per l'attenzione!
0

#4 L   madhacker 

  • Senior Member
  • PuntoPuntoPuntoPuntoPunto
  • Gruppo: Utente
  • Messaggi: 527
  • Iscritto: 16 settembre 2006
  • Cellulare:N95-2,5800

Inviato 25 settembre 2009 - 08:52

esatto, ao_lock.wait mette l'applicazione in attesa di comandi dell'utente. ao_yield serve soprattutto quando carichi gran numero di librerie, o librerie molto corpose. di solito nei piccoli script non viene quasi mai usato il comando ao_yield
0

#5 L   acasta69 

  • Member
  • PuntoPunto
  • Gruppo: Utente
  • Messaggi: 20
  • Iscritto: 11 settembre 2008
  • Cellulare:Nokia E51

Inviato 25 settembre 2009 - 10:38

Grazie per l'aiuto madhacker!
0

#6 L   memoryn70 

  • Millennium Member
  • Gruppo: Developer
  • Messaggi: 2112
  • Iscritto: 02 maggio 2007
  • Cellulare:Nokia N70
  • Firmware:5.0609.2.0.1

Inviato 02 ottobre 2009 - 13:23

ao_yield lo usi anche nei cicli for molto lunghi per non impallare il telefono e poter mettere in background l'applicazione...
0

#7 L   JumpJack_ 

  • Senior Member
  • Gruppo: Developer
  • Messaggi: 994
  • Iscritto: 29 agosto 2006
  • Cellulare:a1000,6680

Inviato 07 ottobre 2009 - 18:15

Visualizza Messaggimemoryn70, il 02/10/2009 - 14:23, ha scritto:

ao_yield lo usi anche nei cicli for molto lunghi per non impallare il telefono e poter mettere in background l'applicazione...

sarebbe come il "do events" di visual basic??? :thumbdown:
0

Condividi questa discussione:


Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione