[Python] saluti e prima domanda sulle list comprhension

Enrico Franchi enrico.franchi a gmail.com
Lun 28 Gen 2008 00:34:20 CET


On Jan 27, 2008, at 11:54 PM, Java wrote:

> Ma perché avete tutto questo astio per i poveri thread?

Ho io non avevo astio con i thread. Finché non ho cominciato a  
ragionarci seriamente in ottica non  banale.
Al di la di quello che rende 'semplice' un popolare linguaggio di  
programmazioni progettato da qualche control freak, il problema è che  
il modo più naturale, logico e comodo di lavorare con i thread è un  
modello a messaggi/code e *senza* stato condiviso. A questo punto si  
che magari scala anche bene[0].

----
[0] su questo ci torniamo poi.

> 3) non può bloccarsi tutto, proprio perché è un thread, al massimo si
> blocca lui e il resto va...

Si, ma non è li il problema, eh.

> almeno così mi ricordo dalla teoria dei thread in generale,  
> tipicamente
> un processo è una cosa più pesante

Tipicamente su un sistema progettato male. Su un sistema unix il costo  
è paragonabile. Inoltre se devi lanciare tanti processi/thread o ti  
chiami Erlang  oppure ti conviene andare asincronamente. Sia con  
twisted, sia con il 'divertentissimo' poll.

Nota poi che visto e considerato che fai principalmente I/O, senza  
dubbio prenderei un modello a processi.

>
> MMM poi quella cosa di twisted mi tenta un casino... mmm mmm vedo se  
> ci
> sto dentro come  tempi

Sarebbe una gran cosa, ma IMHO non è il caso. Rischi solo di scrivere  
codice che il tuo docente non saprà capire. Io non lo conosco (il tuo  
docente), ma l'approccio di molti professori di fronte ad una cosa che  
uno studente fa e che loro non capiscono è 'è sbagliato/è fatto male'.

Se il tuo professore non rientra in questa categoria, allora  
sicuramente Twisted è molto affascinante. Nota poi che per quello che  
devi fare tu, devi imparare un infinitesimo di tutto Twisted. Se poi  
passa e legge il Presidente, per convincerti, potrebbe pure buttare  
giù lo scheletro funzionante in 15 righe :P Ti confesso che sarei  
tentato di farlo io (non fosse che è un po' di tempo che non magheggio  
con Twisted e non vorrei scriverti un esempio 'vecchio').

Toh, a proposito di vecchie API. Twisted.web è abbastanza vecchio, a  
quanto mi dicono dalla regia, sarebbe da passare con twisted.web2

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/525493



More information about the Python mailing list