簡體   English   中英

Python-在多線程中執行循環

[英]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循環中使用多線程來同時打印所有元素,而無需等待下一個元素

您可以使用多處理模塊,如下例所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM