【发布时间】:2020-11-04 08:14:26
【问题描述】:
import threading
from multiprocessing import Process
import time
import os
def MyTask():
time.sleep(2)
t0 = time.time()
threads = []
for i in range(10):
thread = threading.Thread(target=MyTask)
thread.start()
threads.append(thread)
t1 = time.time()
print("Total Time for Creating 10 Threads: {} seconds".format(t1-t0))
for thread in threads:
thread.join()
t2 = time.time()
procs = []
for i in range(10):
process = Process(target=MyTask)
process.start()
procs.append(process)
t3 = time.time()
print("Total Time for Creating 10 Processes: {} seconds".format(t3-t2))
for proc in procs:
proc.join()
我应该比较创建线程和进程之间的时间。 但有一个问题。 这是一个结果。
Total Time for Creating 10 Threads: 0.0019941329956054688 seconds
Total Time for Creating 10 Processes: 0.06481027603149414 seconds
Total Time for Creating 10 Threads: 0.04188799858093262 seconds
Total Time for Creating 10 Threads: 0.01695418357849121 seconds
Total Time for Creating 10 Threads: 0.01595759391784668 seconds
Total Time for Creating 10 Threads: 0.003989696502685547 seconds
Total Time for Creating 10 Threads: 0.003989696502685547 seconds
Total Time for Creating 10 Threads: 0.001995563507080078 seconds
Total Time for Creating 10 Threads: 0.0019948482513427734 seconds
Total Time for Creating 10 Threads: 0.0019948482513427734 seconds
Total Time for Creating 10 Threads: 0.0009980201721191406 seconds
Total Time for Creating 10 Threads: 0.0009975433349609375 seconds
我只想要一个总时间来创建线程和进程。 我认为这是因为多处理。但是,我不知道如何解决它。
【问题讨论】:
-
我认为你应该打印
after加入所有线程,不是吗?
标签: python multithreading multiprocessing