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