[英]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.