# coding:utf-8
# 进程的创建,以及常用的方法
import time
import os
# 引入进程创建模块
import multiprocessing
# 创建进程函数 - Process
# 函数名 介绍 参数 返回值
# Process 创建一个进程 target, args 进程对象
#
# 进程的常用方法
# 函数名 介绍 参数 返回值
# start 执行进程 无 无
# join 阻塞进程 无 无
# kill 杀死进程 无 无
# is_alive 判断进程是否存活 无 bool
def work_first():
for i in range(5):
# os.getpid() 当前进程的进程编号; os.getgid() 当先进程的group id
print(f'work_first函数的循环值:{i},进程号:{os.getpid()}')
time.sleep(1)
def work_second():
for i in range(5):
print(f'work_first函数的循环值:{i},进程号:{os.getpid()}')
time.sleep(1)
if __name__ == '__main__':
s_t = time.time()
# 调用进程模块的Process(target,args)函数创建进程;target是一个函数,args是对应函数的参数,参数是元组类型
# 创建了两个子进程;
work_first_process = multiprocessing.Process(target=work_first)
# work_first_process.start()
#
work_second_process = multiprocessing.Process(target=work_second)
# work_second_process.start()
# 如果有多个子进程的话,可以通过for循环进行启动
for sun_process in (work_first_process, work_second_process):
sun_process.start()
time.sleep(2)
for sun_process in (work_first_process, work_second_process):
# sun_process.start()
print(123)
# join() 阻塞进程,等 子进程执行完毕后再执行主进程
# work_first_process.join()
# work_second_process.join()
e_t = time.time()
use_time = e_t - s_t
# 打印的 主进程时间 0.021s,
print(f'耗时:{use_time}, 进程号:{os.getpid()}')
python 进程的创建,以及常用的方法
最新推荐文章于 2024-03-16 16:22:30 发布