|
|
|
La libreria di riferimento di Python |
|
|
|
Questo modulo realizza un interfaccia ad alto livello per i thread
sulla base del modulo a basso livello thread.
Nel caso in cui non si possano usare i threading a causa
della mancanza del modulo thread, viene fornito il modulo
dummy_threading.
Questo modulo definisce le seguenti funzioni ed oggetti:
-
Restituisce il numero di oggetti Thread attivi al momento. Il
contatore restituito è uguale alla lunghezza della lista restituita da
enumerate().
Una funzione che restituisce il numero di thread attivi al momento.
-
Una funzione factory che restituisce un nuovo oggetto di variabile di
condizione. Una variabile di condizione permette ad uno o più thread
di attendere fino a che non vengano notificati da altri thread.
-
Restituisce l'oggetto Thread corrente, corrispondente al
thread di controllo del chiamante. Se il thread di controllo del
chiamante non è stato creato attraverso il modulo threading,
viene restituito un oggetto thread fantoccio con funzionalità
limitate.
-
Restituisce una lista di tutti gli oggetti Thread attivi al
momento. La lista include demoni thread, oggetti thread fantocci
creati da currentThread(), ed il thread principale.
Vengono esclusi i thread terminati ed i thread che non sono ancora
stati lanciati.
-
Una funzione factory che restituisce un oggetto evento. Un evento
gestisce una opzione che può essere impostata a vero con il metodo
set() e resettata a falso con il metodo clear(). Il
metodo wait() si bloccca fino a che l'opzione è vera.
-
Una funzione factory che restituisce un nuovo oggetto lock primitivo.
Una volta che viene acquisito da un thread, i successivi tentativi di
acquisirlo si bloccano, fino al suo rilascio; ogni thread lo può
rilasciare.
-
Una funzione factory che restituisce un nuovo oggetto lock rientrante.
Un lock rientrante deve essere rilasciato dal thread che lo ha
acquisito. Una volta che un thread ha acquisito un lock rientrante,
lo stesso thread può acquisirlo di nuovo senza bloccarsi; il thread
deve effettuare un rilascio per ogni acquisizione.
-
Una funzione factory che restituisce un nuovo oggetto semaforo. Un
semaforo gestisce un contatore che rappresenta il numero di chiamate a
release() meno il numero di chiamate ad acquire(),
più un valore value iniziale. Il metodo acquire() si
blocca se necessario fino a che non possa restituire senza rendere il
contatore negativo. Se non viene passato, value è inizialmente
1.
BoundedSemaphore( |
[value]) |
-
Una funzione factory che restituisce un nuovo oggetto semaforo
limitato. un semaforo limitato controlla che il suo valore corrente
non ecceda il suo valore iniziale. Se ciò avviene, viene sollevata
un'eccezione ValueError. In molte situazioni i semafori
sono usati per vegliare su risorse con capacità limitate. Se il
semaforo è rilasciato troppe volte è segno di un bug. Se non viene
passato, value è inizialmente 1.
- class Thread
-
Una classe che rappresenta un thread di controllo. Questa classe può
essere derivata in maniera sicura in modo limitato.
- class Timer
-
Un thread che esegue una funzione dopo che sia passato un intervallo
di tempo specificato.
-
Imposta una funzione di traccia per tutti i
thread lanciati dal modulo threading. func sarà
passata a sys.settrace() per ogni thread, prima che il suo
metodo run() sia chiamato.
Nuovo nella versione 2.3.
-
Imposta una funzione di profilo per tutti i
thread lanciati dal modulo threading. func sarà
passata a sys.setprofile() per ogni thread, prima che il
suo metodo run() sia chiamato.
Nuovo nella versione 2.3.
Le interfacce dettagliate per gli oggetti sono documentate sotto.
Il design di questo modulo è vagamente basato sul modello di threading
di Java. Tuttavia, dove il Java pone lock e variabili di condizione
come funzionamento basilare di ogni oggetto, in Python sono oggetti
separati. La classe Thread di Python supporta un sottoinsieme
del funzionamento della classe Thread di Java; al momento, non
esistono priorità o gruppi di thread, i thread non possono essere
distrutti, fermati, sospesi, riattivati o interrotti. I metodi
statici della classe Thread di Java, quando implementati, sono
progettati come funzioni a livello di modulo.
Tutti i metodi descritti sotto sono eseguiti atomicamente.
|
|
|
La libreria di riferimento di Python |
|
|
|
Release 2.3.4, documentation updated on 21. maggio 2005.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.