[Python] Applicazione multithreading

A.recca a.recca a siciliawebplus.it
Lun 19 Mar 2007 23:44:46 CET


Daniele Varrazzo ha scritto:
>> Salve a tutta la lista,
>> una di queste sere mi sono imbattuto nel visualizzare il codice sorgente
>> di qualche applicazione, e dopo 30 secondi ho deciso di scrivermi già il
>> mio primo programmino.
>> Bello anzi bellissimo a dir poco stupendo.
>> In 11 righe mi sono evitato un mare di lavoro.
>> Ho deciso di creare una nuova applicazione e questa volta ho deciso di
>> creare uno spider che avevo fatto in c# in windows e rifarlo in python e
>> devo dire che tutto funziona alla grande.
>> Il mio unico problema sta nel fatto che vorrei velocizzare il programma
>> e quindi renderlo multithreading impostando sempre da riga di comando il
>> numero di thread che vorrei fare. Mi potete dare qualche consiglio???
>>
>> Grazie a tutti per il lavoro che fate.
>>     
>
> Ciao,
>
> Come già spiegato anche da Valentino, non sempre "multithreading" implica
> "più veloce". Ma nel tuo caso è così, caschi bene :)
>
> In fondo al messaggio attacco uno script che avevo scritto un po' di tempo
> fa: usa diversi thread per scaricare una serie di file. Non è uno spider
> perché la lista di cose da scaricare va specificata all'inizio, ma penso sia
> chiara la modifica da effettuare: quando un'istanza di Job trova una url
> "interessante", deve aggiungerla alla lista "DownloadManager.urls" dei
> compiti da svolgere. Dovresti modificare la signature di Job.__init__ in
> modo che possa ricevere un puntatore a tutto il download manager (che nome
> borioso!) anziché al solo callback che notifica dell'avvenuto download: io
> aggiungerei un metodo DownloadManager.add_job(...) che aggiunga il nuovo job
> alla lista rispettando il lock.
>
> "from util import get_logger" non funzionarà: usa "import logging;
> logging.getLogger" al suo posto. Tutto il resto dovrebbe funzionare.
>
> Spero ti serva di "ispirazione": ci ho messo pochi minuti a scriverlo, ha
> fatto il suo porco lavoro e in effetti il fatto che in Python si scriva un
> download manager multi-thread in meno di 100 righe fa la sua figura :)
>
> Divertiti!
>
>   
Scusatemi ragazzi....sono proprio una schiappa con questo linguaggio.... 
forse perchè ho anche poche ore di sonno....Intanto mi scuso con tutte 
le persone che mi avevano cercato di dare una mano ed io incosciamente 
non avevo capito....
Ringrazio chi mi abbia passato quello script (anche se non ho capito un 
gran chè) quel programmino che avevo creato stupidissimo sono riuscito a 
farlo funzionare... ma ho capito anche che in python esistono funzioni, 
definizioni ecc... di cui ancora non capsco niente quindi è meglio che 
prima do una guardata in giro...

RINGRAZIO TUTTI VOI!!!!

Angelo


Maggiori informazioni sulla lista Python