程序和进程
1.程序是安装在计算机硬盘中的,运行的程序就叫进程,计算机会为正在运行的程序分配空间
2.进程标识符PID(Process ID)
定义:PID是操作系统中用于唯一标识一个进程的数字。每个进程在创建时都会被分配一个独一无二的PID,用于区分不同的进程。
获取进程的pid用os模块中的getpid()获取自己进程的标识符。getppid()获取父进程的标识符
3.在windows操作系统中创建进程:
当进程数量较少时候,使用在模块multiprocessing模块的process类,参数中target’必须写
需要注意args需要传递的位置参数如果只有一个,因为是元组也需要加, ,例如args=(18,)
对于主进程和子进程的进行:
例如对于在main程序中调用函数开始子进程的运行时,
主进程并不停止执行:当主进程中的某个Process对象的start()方法被调用时,主进程并不会停止执行。相反,主进程会继续执行其后续的代码,同时操作系统会并行地启动一个新的子进程来执行Process对象指定的任务。
并行执行:主进程和子进程是并行运行的。这意味着它们可以同时执行,而不是一个等待另一个完成。主进程可以继续执行其后续的代码,而子进程则开始执行其指定的任务。
等待子进程完成: 如果你希望主进程等待子进程完成后再继续执行,你可以使用Process对象的 join()方法。调用join()方法会阻塞主进程,直到对应的子进程执行完毕。
from multiprocessing import Process
import time
def worker():
"""子进程执行的函数"""
print('子进程开始执行')
time.sleep(2) # 模拟耗时操作
print('子进程执行完毕')
if __name__ == '__main__':
print('主进程开始执行')
p = Process(target=worker)
p.start() # 启动子进程
print('主进程继续执行')
p.join() # 等待子进程完成
print('主进程等待子进程完成后继续执行')
#主进程开始执行
#主进程继续执行
#子进程开始执行
#子进程执行完毕
#主进程等待子进程完成后继续执行
4.Process类中的方法和属性
5.继承式创建子进程
当进程数量较多时候,使用在模块multiprocessing模块的pool池
appl