要确定多线程是否确实减少了执行时间,你可以使用计时器来记录执行时间并比较不同情况下的结果。下面是一个示例代码,展示了如何使用多线程并计时:
import time
import threading
def task():
# 模拟一个耗时的任务
time.sleep(1)
def run_sequentially():
start_time = time.time()
for _ in range(10):
task()
end_time = time.time()
execution_time = end_time - start_time
print("顺序执行耗时:", execution_time)
def run_concurrently():
start_time = time.time()
# 创建10个线程,每个线程执行一次任务
threads = []
for _ in range(10):
t = threading.Thread(target=task)
threads.append(t)
t.start()
# 等待所有线程结束
for t in threads:
t.join()
end_time = time.time()
execution_time = end_time - start_time
print("并发执行耗时:", execution_time)
run_sequentially()
run_concurrently()
在上述示例中,run_sequentially()
函数顺序执行了10次任务,并记录了总执行时间。而run_concurrently()
函数使用了多线程并发执行10次任务,并同样记录了总执行时间。通过比较这两个函数的执行时间,你可以判断多线程是否确实减少了执行时间。请注意,具体的时间可能因计算机的性能和负载而有所不同。