Skip to content

Day13最后一个例子感觉计时部分不太对啊。。计时前是不是线程就已经开始启动了? #1008

Open
@Talonl

Description

@Talonl

如下,如果我简单改下流程,让start后sleep5秒,实际计算时间就成0.08秒了,这显然不对吧。。

from multiprocessing import Process
from time import time, sleep


def task_handler():
    sleep(5)


def main():
    processes = []
    # 启动8个进程将数据切片后进行运算
    for _ in range(8):
        p = Process(target=task_handler)
        processes.append(p)
        p.start()
    # 开始记录所有进程执行完成花费的时间
    sleep(5)
    start = time()
    for p in processes:
        p.join()
    end = time()
    print('Execution time: ', (end - start), 's', sep='')


if __name__ == '__main__':
    main()

Execution time: 0.08439040184020996s

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions