Entre -02 pitón multi-proceso de proceso de intercambio de datos

0. PRODUCCIÓN

  1. En un entorno de producción no se utiliza generalmente en las siguientes maneras
  2. En un entorno de producción se utiliza generalmente en las siguientes maneras
  • repetición
  • MySQL
  • RabbitMQ

1. forma de cola

import multiprocessing
import time
q = multiprocessing.Queue()


def task(arg):
    time.sleep(1)
    q.put(arg)


if __name__ == '__main__':
    plist = []
    for i in range(10):
        p = multiprocessing.Process(target=task, args=(i,))
        plist.append(p)

    for i in plist:
        i.start()

    while True:
        running = 0
        for p in plist:
            if p.is_alive():
                running += 1
        if running == 0:
            break

    for i in range(10):
        print(q.get())

2. Gestor de manera

import multiprocessing
import time
m = multiprocessing.Manager()
dic = m.dict()


def task(arg):
    time.sleep(1)
    dic[arg] = 100


if __name__ == '__main__':
    plist = []
    for i in range(10):
        p = multiprocessing.Process(target=task, args=(i,))
        plist.append(p)

    for i in plist:
        i.start()

    while True:
        running = 0
        for p in plist:
            if p.is_alive():
                running += 1
        if not running:
            break

    print(dic)

Supongo que te gusta

Origin www.cnblogs.com/pythonPath/p/12459986.html
Recomendado
Clasificación