[Python] Mettere in pausa gli altri threads

Marco Giusti marco.giusti a gmail.com
Ven 4 Ott 2013 15:34:17 CEST


On Fri, Oct 04, 2013 at 02:47:23PM +0200, Luca wrote:
> Il giorno 03 ottobre 2013 18:11, Marco Giusti <marco.giusti a gmail.com> ha
> scritto:
> 
> >
> > 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?
> >
> >
> Circa. Non solo non devono inziare nuove operazioni, ma quelle attuali
> dovrebbero esser messe in pausa e, quando riprendono, tenere in
> considerazione la risposta la dialogo di conferma.
> Una cosa del tipo:
> 
> global_event = queue.get()
> global_event.wait()
> overwrite = queue.get()
> if os.path.exits(filename) == False or overwrite == True:
>  ... etc etc...

Perdonami, puoi spiegarmelo come se avessi cinque anni? Sembra, da come
lo descrivi, che la copia di un file debba essere interrotta a metà per
poi riprendere con una politica differente. Invece il tuo codice sembra
dire il contrario, ovvero una copia deve essere finita sempre con la
politica con cui ha iniziato ma ogni nuova copia deve o aspettare una
risposta o utilizzare la politica selezionata.

PS. quandi effettui test logici è meglio se usi la forma:

	if not os.path.exits(filename) or overwrite:

Marco


Maggiori informazioni sulla lista Python