Python - выполнить цикл в многопоточности - PullRequest
0 голосов
/ 06 февраля 2019

Я новичок в питоне.цикл for повторяет элемент один за другим.Я хочу знать, как выполнить все элементы цикла for одновременно.Вот мой пример кода:

import time
def mt():
    for i in range(5):
        print (i)
        time.sleep(1)
mt()

Он печатает элемент один за другим из цикла for и ждет 1 секунду следующего элемента.Я хочу знать, как использовать многопоточность в цикле for для печати всех элементов одновременно, не ожидая следующего элемента

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Вы также можете попробовать импортировать Threading Concept.

import threading
import time

def mt(i):
    print (i)
    time.sleep(1)

def main():
    for i in range(5):
        threadProcess = threading.Thread(name='simplethread', target=mt, args=[i])
        threadProcess.daemon = True
        threadProcess.start()
main()
0 голосов
/ 06 февраля 2019

Вы можете использовать многопроцессорный модуль , как показано в примере ниже:

import time
from multiprocessing import Pool

def main():
    p = Pool(processes=5)
    result = p.map(some_func, range(5))

def some_func(i):
    print(i)
    time.sleep(1)

if __name__ == '__main__':
    main()
...