IT袋

当前位置:主页 > 经验教程 > 建站编程 >

什么是Python多进程

什么是Python多进程 如何实现?(2)

时间:2023-12-13 13:25:46 来源:IT袋 作者:马勇
导读:什么是Python多进程,为此,需要一个包含超过10^6个整数的大型整数列表。 可以使用 random 库生成一个列表,此处将使用Python的 time 模块来计算运行时间。 下面是实现的代码,

什么是Python多进程

为此,需要一个包含超过10^6个整数的大型整数列表。

可以使用random库生成一个列表,此处将使用Python的time模块来计算运行时间。

下面是实现的代码,代码本身很容易理解,也可以随时查看代码注释。

from multiprocessing import Process
import os
import time
import random
def calculate_squares(numbers):
    for num in numbers:
        square = num * num
if __name__ == "__main__":
    numbers = [
        random.randrange(1, 50, 1) for i in range(10000000)
    ]  # 创建一个包含10^7个整数的随机列表。
    half = len(numbers) // 2
    first_half = numbers[:half]
    second_half = numbers[half:]
    # ----------------- 创建单进程环境 ------------------------#
    start_time = time.time()  # 开始计时(不使用多进程)
    p1 = Process(
        target=calculate_squares, args=(numbers,)
    )  # 单进程P1执行整个列表
    p1.start()
    p1.join()
    end_time = time.time()  # 结束计时(不使用多进程)
    print(f"Execution Time Without Multiprocessing: {(end_time-start_time)*10**3}ms")
    # ----------------- 创建多进程环境 ------------------------#
    start_time = time.time()  # 开始计时(使用多进程)
    p2 = Process(target=calculate_squares, args=(first_half,))
    p3 = Process(target=calculate_squares, args=(second_half,))
    p2.start()
    p3.start()
    p2.join()
    p3.join()
    end_time = time.time()  # 结束计时(使用多进程)
    print(f"Execution Time With Multiprocessing: {(end_time-start_time)*10**3}ms")

输出:

Execution Time Without Multiprocessing: 619.8039054870605ms
Execution Time With Multiprocessing: 321.70287895202637ms

可以观察到,使用多进程的时间几乎是不使用多进程时间的一半。

这表明这两个进程在同一时间内并行执行,并展示了真正的并行性行为。

以上是IT袋网网关于什么是Python多进程 如何实现?的具体内容,供大家参考操作。

相关阅读

  • 创建一个网站要多少钱 自己做一个网站需要的费用

    创建一个网站要多少钱 自己做一个网站需要的费用

    对于大多数网友来说创建一个网站要多少钱和自己做一个网站需要的费用的方法内容,继续往下看吧! 想搞一个网站,我们先了解一下搞个网站需要多少钱?网站建设费用主要包括:网站搭建

  • 做网站要多少钱一年 搭建网站的费用明细

    做网站要多少钱一年 搭建网站的费用明细

    全面的为大家介绍做网站要多少钱一年和搭建网站的费用明细方面的内容,具体介绍如下: 想搞一个网站,我们先了解一下搞个网站需要多少钱?网站建设费用主要包括:网站搭建、服务器费

  • 怎么自己建立网站 个人搭建网站的步骤详解

    怎么自己建立网站 个人搭建网站的步骤详解

    小编为大家说一说怎么自己建立网站和个人搭建网站的步骤详解的IT小经验,接下来就是全面介绍。 随着各种网页制作工具的普及,现在不懂技术的个人也能顺利建站了。不过使用网页制作工

  • mysql数据库约束有哪些

    mysql数据库约束有哪些

    这些知识你了解吗?mysql数据库约束有哪些方面的知识,接下来IT袋网带大家一起了解。 1、约束 什么是约束 对表中的数据进行限定,保证数据的正确性、有效性、完整性 约束通常是在创建表