首页 > 试题广场 >

执行以下程序,理论上输出的结果应最接近整数( )

[单选题]

执行以下程序,理论上输出的结果应最接近整数( )

from multiprocessing import Pool
import time

def task():
    for i in range(3):
        time.sleep(1)

if __name__ == '__main__':
    start = time.time()
    p = Pool(2)
    for i in range(5):
        p.apply_async(task)
    p.close()
    p.join()
    end = time.time()

    print(end-start)
  • 15
  • 3
  • 9
  • 12
p = Pool(2) 创建一个包含 2 个进程 的进程池对象 p,意味着最多同时有 2 个任务并行执行
由于进程池大小为 2,5 个任务会分批次执行:
第一批:任务 1 和任务 2 并行执行,耗时约 3 秒;
第二批:任务 3 和任务 4 并行执行,再耗时约 3 秒;
第三批:任务 5 单独执行,但由于还有空闲进程,仍可在 3 秒内完成。
但由于异步调度和系统开销,实际运行时间可能略大于 9 秒


发表于 2025-05-07 11:07:24 回复(0)