temas multi-threading en la cola

cola de la comunicación entre hilos

Comunicación entre hilo entre diferentes colas de comunicación y las colas del proceso utilizado, la cola de proceso se encapsula en el módulo de multiprocesamiento puede ser introducido desde el módulo, la comunicación entre hilos requiere módulos individuales importación cola de cola, el módulo no hace Roscado empaquetar.

  • Cola:
    • Importación: cola de importación
    • Esto puede ser usado en la industria de servicios, First In First Out
    • Ejemplos de objetos: q = queue.Queue (num), num para controlar el tamaño de la cola, cómo se pueden colocar tantos datos.
    • En los datos: q.put (datos)
    • Datos tomados: q.get ()
    • longitud de la cola, pero tenía que poner los datos: q.put_nowait (datos), este será informado de anomalías: queue.Full. Puede agregar el control de excepciones, pero debido a que los datos se perderán después de usar este método, no se recomienda utilizar este método.
    • No hay datos tomados: q.get_nowait (), que también informaron anormal: queue.Empty, manejo de excepciones se puede configurar:
try:
    print(q.get_nowait())
except queue.Empty:
    # queue.Empty不是内置的错误,而是queue模块中的错误,可以直接使用模块.错误类型来调用
    print('队列中没有数据')
  • LifoQueue:
    • cola LIFO es llamado, pero en realidad es una pila
    • No utilizaremos el sector de servicios, para el desarrollo de este multi-algoritmo
    • Importación: de cola de importación LifoQueue
    • Ejemplos de: lq = LifoQueue ()
    • En los datos: lq.put (datos)
    • Datos tomados: lq.get (datos)
  • PriorityQueue:
    • cola de prioridad
    • El procedimiento utilizado para los miembros VIP del desarrollo
    • Importación: de cola de importación PriorityQueue
    • Ejemplos de: pri = PriorityQueue ()
    • Datos coloca: pri.put ((num, datos)), tenga en cuenta las tuplas, el primer parámetro es el número de secuencia
    • Datos tomados: pri.get (), los datos se adquiere como el número de la prioridad adquirida, el primero en salir número más pequeño es el número, se ordena el número de código ASCII de pedidos, los pedidos no es un método digital normal.
from queue import PriorityQueue

pri = PriorityQueue()
pri.put((1, '福娃'))
pri.put((2, '奥运'))
pri.put((0, '五环'))
print(pri.get())
print(pri.get())
print(pri.get())

'''结果是:
(0, '五环')
(1, '福娃')
(2, '奥运')
'''

Supongo que te gusta

Origin www.cnblogs.com/ddzc/p/12470775.html
Recomendado
Clasificación