Python - 在多线程中执行for循环

Python - execute for loop in multithreading

我是 python 的新手。 for 循环逐个迭代元素。我想知道如何同时执行 for 循环中的所有元素。 这是我的示例代码:

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

它从 for 循环中一个一个地打印元素,并等待 1 秒等待下一个元素。我想知道如何在for循环中使用多线程同时打印所有元素而不等待下一个元素

您可以使用 multiprocessing 模块,如下例所示:

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()

您也可以尝试导入线程概念。

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()