> From: [EMAIL PROTECTED]> > I thread sono brutti, cattivi, cacca, hitler usava 
> i thread... sono d'accordo > su tutto. Ma ci sono momenti in cui fanno 
> maledettamente comodo (questo lo è, > a meno che non ti spieghino come 
> installare twisted sul cellulare) e ci sono > modi di usarli in cui 
> funzionano senza dare rogne (una coda lo è). Secondo me > rimuoverli dalla 
> coscienza collettiva della programmazione è negativo quanto > il loro stesso 
> abuso.> 
Scusate fa faccio tante domande, forse pure stupide, non é tanto che sono 
entrato nel modo di python :)
 
Ma non capisco bene come vanno gestiti i thread. Ho letto che praticamente 
posso crearli semplicemente con la funzione
 
thread.start_new_thread(Funzione(Argomenti), ())
 
Però chi gestisce il cambio di contesto dei thread ? Devo farelo io o lo fa 
direttamente python ?
 
Io ho ad esempio chiamo questi deu thread:
 
thread.start_new_thread(Listen(PhoneConnection), ())
thread.start_new_thread(receive_msg(fd), ())
 
Le funzioni richiamate sono quele sott:
 
(1)
def Listen(PhoneConnection):    LastClock=clock()    try:     if 
PhoneConnection:         LogScreen("- Init listen port sevice")            
while True:                GetClock=clock()                if 
GetClock-LastClock>2:                    TmpInfo=GetPhoneInfo()                 
       if TmpInfo==1:                            
ToSend="StatChn:"+str(LastSignal)+";"+str(LastBattery)+";"+str(LastOperator)    
                        talk(PhoneConnection,ToSend)    except:        
PhoneConnection.close()        LogScreen("- Connection Lost in Listen")        
InitConnection()
(2)
def receive_msg(fd):    reply = fd.readline()    ParseIncomingData(reply)
 
 
Locicamente viene sempre eseguito solo il primo thread in quanto il ciclo while 
fa si che la funzione sta in un loop infinito finché non disconnetto il 
telefono. Stessa cosa accade se lancio prima la funzione receive_msg(fd) in 
quanto fd.readline() tiene bloccato il thread finché non trova qualche dato in 
arrivo. 
 
Quindi come faccio a fare un cambio di contestop tra il primo ed il secondo 
thread ?
_________________________________________________________________
Scarica GRATIS le tue emoticon preferite!
http://intrattenimento.it.msn.com/emoticon/
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a