7.5 threading -- Interfaz multihilo de alto nivel

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.