Este módulo construye interfaces multihilo de alto nivel sobre el
módulo de bajo nivel thread.
Este módulo se puede utilizar con seguridad mediante
"from threading import *". Define las siguientes funciones
y objetos:
- activeCount ()
-
Devuelve el número de objetos Thread activos. La cuenta
devuelta es igual a la longitud de la lista devuelta por
enumerate().
- Condition ()
-
Una función fábrica que devuelve un objeto condición nuevo.
Una variable condición permite que uno o más hilo esperen hasta
que otro hilo se lo notifique.
- currentThread ()
-
Devuelve el objeto Thread en curso, correspondiente al hilo de
control del llamante. Si el hilo de control del llamante no fue creado
mediante el módulo threading, se devuelve un objeto hilo
ficticio de funcionalidad limitada.
- enumerate ()
-
Devuelve una lista de todos los objetos Thread activos.
La lista incluye los hilos correspondientes a ``demonios'', objetos hilo
ficticios creados por currentThread() y el hilo principal.
No incluye los hilos que ya hayan finalizado ni los que aún no han arrancado.
- Event ()
-
Una función fábrica que devuelve un nuevo objeto suceso. Un suceso gestiona
un indicador que se puede poner a cierto con el método set()
y volver a poner a falso con el método clear(). El método
wait() bloquea la ejecución hasta que el indicador sea cierto.
- Lock ()
-
Una función fábrica que devuelve un objeto cerrojo primitivo nuevo.
Tras ser adquirido por un hilo, los posteriores intentos de adquirirlo
bloquearán su ejecución hasta que sea liberado. Cualquier hilo puede
liberarlo.
- RLock ()
-
Una función fábrica que devuelve un nuevo objeto cerrojo reentrante.
Un cerrojo reentrante debe ser liberado por el hilo que lo adquirió.
Tras adquirir un cerrojo, el mismo hilo puede volverlo a obtener sin bloqueo.
El hilo debe liberarlo tantas veces como lo haya adquirido.
- Semaphore ()
-
Una función fábrica que devuelve un nuevo objeto semáforo. Un semáforo
gestiona un contador que representa el número de llamadas release()
menos el número de llamadas a acquire(), más un valor inicial.
El método acquire() bloquea la ejecución si es necesario, hasta que
pueda retornar sin hacer negativo el contador.
- Thread ()
-
Una clase que representa un hilo de control. Esta clase se puede derivar con seguridad
de manera limitada.
Se documentan las interfaces en detalle más abajo.
El diseño de este módulo se basa libremente en el modelo de hilos de Java.
Sin embargo, donde Java hace que los bloqueos y las condiciones comportamiento
básico de cada objeto, Python los mantiene separados. La clase Thread
da soporte a un subconjunto del comportamiento de la clase hilo de Java.
Actualmente no hay prioridades, ni grupos de objetos, y los hilos no
pueden ser destruidos, detenidos, suspendidos, rearrancados ni interrumpidos.
Los métodos estáticos de la clase Thread de Java, si están implementados, se hacen
corresponder a funciones a nivel del módulo.
Todos los métodos descritos más abajo se ejecutan atómicamente.
Subsections
Ver Sobre este documento... para obtener información sobre sugerencias.