[Python] Mettere in pausa gli altri threads

Luca luca800 a gmail.com
Gio 3 Ott 2013 15:50:17 CEST


Il giorno 03 ottobre 2013 15:23, Manlio Perillo
<manlio.perillo a gmail.com>ha scritto:

>
> Perche' ne metti in dubbio l'utilit¢?
> La cosa da mettere in dubbio, magari, e' la scelta di usare i threads.
>
> in effetti era quello il dubbio.


> Puoi, infatti, eseguire il comando ``cp`` di sistema con l'opzione
> ``-i``, usando il modulo subprocess.
>

Il fatto è che lo script in fase di copia deve avere un'interfaccia grafica
per l'utente finale. E deve essere compilabile con py2exe  per essere
distribuito anche sotto windows.

>
> Perche' mai dovresti eseguire il controllo di esistenza del file di
> destinazione all'interno di un thread.
> Questa non │ una operazione che prende troppo tempo.  Quello che devi
> eseguire in un thread separato e' la copia del file.
>
> Puoi eseguire il controllo in modo semplice nel thread principale,
> aprendo il file di destinazione in modalit¢ esclusiva
> (O_EXCL, http://docs.python.org/2/library/os.html#open-constants), e
> passando poi il descrittore di file al thread pool che si occupa della
> copia, utilizzando una queue.
>

In realtà inizialmente sarebbe dovuto bastare un --overwrite come opzione a
monte. Ma la richiesta è poi stata modificata.
Avevo già pensato di fare il controllo nel thread principale - e l'idea è
ancora valida -, anche se potrebbero essere molti file da controllare
(utilizza walk e una serie di filtri di inclusione ed esclusione per
recuperare i files da copiare).
Il fatto è che mi piaceva l'idea di avere di avere un controllo maggiore
sui thread.

luca
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20131003/a3a2e5a6/attachment.html>


Maggiori informazioni sulla lista Python