2010-07-31 19 views

Répondre

2

Je ne suis pas familier avec le S60, mais si elle prend en charge le filetage est ici un exemple de faire deux fonctions à la fois:

import threading 
import time 

def doit1(): 
    for i in range(10): 
     time.sleep(.1) 
     print 'doit1(%d)' % i 

def doit2(): 
    for i in range(10): 
     time.sleep(.2) 
     print 'doit2(%d)' % i 

t = threading.Thread(target=doit2) 
t.start() 
doit1() 
t.join() 
print 'All done.' 

Hope this helps.

+0

quelle est la fonction de t.join? si c'est1 par exmple est la fonction qui mesure gps et doit2 est la fonction UI, comment puis-je savoir que le paramètre de résultat GPS a été assigné à la fin de la mesure et est accessible depuis la deuxième fonction? –

+0

une autre chose, si je comprends, cela peut être un moyen simple d'implémenter minuterie? juste en définissant une fonction qui "dort" pour un certain intervalle de temps. Puis-je utiliser plus de 2 fonctions asynchrones dans la solution que vous avez suggérée? Comment ceci peut être fait? –

+0

@Day_Dreamer: t.join() attend dans le thread principal que t se termine. Pour les temporisateurs, il existe un threading. Vous pouvez également créer et démarrer plus d'un thread. Pour les threads amateurs, sous-classe Thread. Voir les documents: http://docs.python.org/release/2.6.5/library/threading.html#thread-objects –