首页 > 解决方案 > Python - 在多线程中执行 for 循环

问题描述

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

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

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

标签: pythonpython-3.xpython-2.7python-multiprocessingpython-multithreading

解决方案


您可以使用多处理模块,如下例所示:

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

推荐阅读