[Python] Mettere in pausa gli altri threads

Marco Giusti marco.giusti a gmail.com
Gio 3 Ott 2013 18:11:16 CEST


On Thu, Oct 03, 2013 at 10:43:48AM +0200, Luca wrote:
> Salve lista,
> 
> Vorrei chiedere consiglio.
> Sto facendo un programmino che si occupa di copiare, cancellare e muovere
> dei files.
> Una delle opzioni è quella di copiare *simultaneamente* più file tramite i
> threads.
> 
> Non c'è nessun problema (a parte forse l'effettiva utilità della cosa)
> quando l'opzione di sovrascrittura viene decisa a priori. Ma in caso di
> finestra di dialogo con la domanda "Vuoi sovrascrivere?" **dovrei
> sospendere anche gli altri thread, attendere la risposta** e poi riprendere
> il tutto utilizzando quest'ultima per decidere il comportamento anche degli
> altri threads.

E' un po' il problema degli scrittori e dei lettori (quanto è brutta la
traduzione dall'inglese?). Questo è quello che avviene nei database, tu
vuoi permettere più letture contemporanee ma ogni scrittura deve essere
sequenziale.

Ogni thread effettua un'operazione in concomitanza con gli altri. Nel
momento in cui si ha una sovrascrizione ottiene un lock esclusivo. Tutti
gli altri thread finiscono le loro operazioni ma nuovi thread non
possono iniziarne di nuove.

Questo è all'incirca quello che volevi?

Ciao
Marco


Maggiori informazioni sulla lista Python