python多进程之快速生成手机号

需求

- 使用多进程的方式,批量生成模拟手机号
# coding = utf-8
# @Author  : TerryJay
# @File    : multi_process.py
# @Software: PyCharm
# @Time    : 2022/10/23 08:54
# I believe that the God rewards the diligent.

import os
import time
from multiprocessing import Process


class MyProcess(Process):
    def __init__(self, name, start_phone, num):
        super().__init__()
        self.name=name
        self.start_phone=start_phone
        self.num=num
        self.calc_result=[]

    def company_create(self, phone):
        pass

    def loops_calc(self):
        comp_id_list=[]
        user_id_list=[]
        for phone in range(self.start_phone, self.start_phone + self.num):
            company_detail = self.company_create(phone)
            comp_id_list.insert(self.num-1, company_detail['comp_id'])
            user_id_list.insert(self.num-1, company_detail['user_id'])
        creat_list = {
            'company_id': comp_id_list,
            'user_id': user_id_list
        }
        print(creat_list)

    def run(self):
        print(self.name, "is run, start time is ---", time.time())
        self.loops_calc()
        print(self.name, "is end, completion time is ---", time.time())


if __name__=='__main__':
    print(f"你的电脑CPU线程数是:{os.cpu_count()}")
    main_start_time=time.time()
    process_list=[]

    """演示4000个号码,分成4个进程工作,实际分成几个取决于你的电脑CPU线程数"""
    p1=MyProcess("第一进程", 13000000000, 1000)
    p2=MyProcess("第二进程", 13000001000, 1000)
    p3=MyProcess("第三进程", 13000002000, 1000)
    p4=MyProcess("第四进程", 13000003000, 1000)

    process_list.append(p1)
    process_list.append(p2)
    process_list.append(p3)
    process_list.append(p4)

    for prs in process_list:
        prs.start()

    """主进程循环检查子进程活动状态,全部为False后程序退出"""
    while process_list:
        for prs in process_list:
            if not prs.is_alive():
                process_list.remove(prs)
    print(f"所有进程已结束,程序总耗时>>>>>{time.time()-main_start_time}")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木法星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值