摘要: 守护进程(Daemon Process)是在后台运行的一种特殊类型的进程,它不会受到终端控制和交互的影响。守护进程通常用于执行一些系统级的任务或服务,比如网络服务、定时任务等。 ''' 1. 创建守护进程: 1. 在Python中,可以通过multiprocessing模块来创建守护进程。使用mul 阅读全文
posted @ 2023-07-23 19:02 Allen_Hao 阅读(75) 评论(0) 推荐(0)
摘要: os.kill是Python中用于向指定进程发送信号的函数。通过os.kill可以发送各种不同的信号,其中最常见的是SIGTERM信号,用于请求进程正常终止 os.kill的工作原理 os.kill函数允许我们向指定的进程发送信号。进程收到信号后,根据信号类型的不同,可以执行相应的处理逻辑。比如,S 阅读全文
posted @ 2023-07-23 18:40 Allen_Hao 阅读(860) 评论(0) 推荐(0)
摘要: 锁 在multiprocessing模块中,可以使用Lock(锁)来实现进程间的同步。Lock提供了一种机制,确保在任意时刻只有一个进程能够访问共享资源。 Lock的工作原理 Lock是一种互斥锁,用于保护共享资源的访问。当一个进程获得了锁之后,其他进程将被阻塞,直到锁被释放。只有释放锁的进程才能继 阅读全文
posted @ 2023-07-23 18:17 Allen_Hao 阅读(161) 评论(0) 推荐(0)
摘要: ''' multiprocessing 还提供了进程池(Pool)的功能,可以方便地管理一组工作进程。 进程池中的多个进程可以被重复使用,以执行多个任务,并在完成任务后自动回收进程。 ''' from multiprocessing import Pool def worker(x): return 阅读全文
posted @ 2023-07-23 17:59 Allen_Hao 阅读(74) 评论(0) 推荐(0)
摘要: 说明 进程间除了主子进程共享数据,也可以通过进程间通信实现交互、数据共享 multiprocessing 提供了多种方式来实现进程间通信,如管道(Pipe)、队列(Queue)和共享内存(Value 和 Array)等。 通过这些机制,不同进程之间可以安全地共享数据或进行通信 进程间是不共享全局变量 阅读全文
posted @ 2023-07-23 17:48 Allen_Hao 阅读(292) 评论(0) 推荐(0)
摘要: ''' multiprocessing.Process 类是 multiprocessing 模块中用于创建和管理进程的主要类。它提供了一系列方法和属性,用于控制和监视进程的行为。 1. 创建 Process对象: 语法: p = Process(target=func, args=(args,), 阅读全文
posted @ 2023-07-23 17:28 Allen_Hao 阅读(241) 评论(0) 推荐(0)
摘要: 创建进程步骤 1. 导入进程包 import multiprocessing 2. 通过进程类创建进程对象 进程对象 = multiprocessing.Process() #是Process类 3. 启动进程执行任务 进程对象.start() 示例 1 # 1. 导入多进程模块 2 import 阅读全文
posted @ 2023-07-23 17:18 Allen_Hao 阅读(91) 评论(0) 推荐(0)
摘要: 在Python程序中,想要实现多任务可以使⽤进程来完成,进程是实现多任务的⼀种⽅式。属于CPU密集型的任务。 进程的概念 进程(Process)是资源分配的最小单位,它是操作系统进行资源分配和调度运行的基本单位 ⼀个正在运⾏的程序或者软件至少有⼀个进程,也就是说每启动⼀个进程,操作系统都会给其分配⼀ 阅读全文
posted @ 2023-07-23 16:03 Allen_Hao 阅读(376) 评论(0) 推荐(0)
摘要: 多任务的执行方式 1. 并发 2. 并行 并发:在⼀段时间内一个cpu交替去执⾏任务。 示例: 对于单核cpu处理多任务,操作系统轮流让各个软件交替执⾏,假如:软件1 执⾏0.01秒,切换到软件2,软件2执⾏0.01秒,再切换到软件3,执⾏ 0.01秒……这样反复执⾏下去。表⾯上看,每个软件都是交替 阅读全文
posted @ 2023-07-23 15:27 Allen_Hao 阅读(181) 评论(0) 推荐(0)
摘要: 1 ''' 2 datetime 模块是 Python 标准库中用于处理日期和时间的模块。 3 4 1. 详解: 5 datetime 模块提供了多个类来处理日期和时间,包括 date、time、datetime 和 timedelta 等。 6 1. date 类表示一个具体的日期(年、月、日)。 阅读全文
posted @ 2023-07-23 15:26 Allen_Hao 阅读(91) 评论(0) 推荐(0)
摘要: 什么是包? 1. 包是一种组织Python代码的方式,它将相关模块组织在一个目录中,并提供了一个命名空间来避免命名冲突。 2. 通过使用包,可以更好地组织和管理大型项目的代码。 3. 创建一个文件夹并且在这个⽂件夹创建⼀个名字 为 __init__.py ⽂件,那么这个⽂件夹就称之为包 包的结构 1 阅读全文
posted @ 2023-07-23 09:26 Allen_Hao 阅读(55) 评论(0) 推荐(0)
摘要: 说明 __all__是一个用于控制模块导入行为的特殊变量。它是一个定义在模块顶部的列表,其中包含了模块中可以被导入的公共接口(函数、类、变量等)。 当使用from 模块名 import *导入模块时,只有__all__列表中的成员会被导入,其他成员将不可见。 使用__all__的好处是可以限制导入的 阅读全文
posted @ 2023-07-23 09:11 Allen_Hao 阅读(101) 评论(0) 推荐(0)
摘要: 1 ''' 2 1. 查找模块的顺序: 3 1. 当前目录:Python会首先搜索执行脚本所在的当前目录,也就是运行程序的工作目录。 4 2. 内置模块:如果在当前目录没有找到对应的模块,Python会接着搜索内置模块,这些模块是Python自带的,无需额外安装。 5 3. sys.path中的目录 阅读全文
posted @ 2023-07-23 08:50 Allen_Hao 阅读(45) 评论(0) 推荐(0)
摘要: 1 ''' 2 导入模块的5种方式: 3 1. import 模块名 4 使用import关键字导入整个模块,然后可以使用模块名加点操作符来访问模块中的函数、类或变量。例如:import math。 5 6 2. from 模块名 import 功能名 7 使用from关键字从模块中导入指定的功能( 阅读全文
posted @ 2023-07-23 08:11 Allen_Hao 阅读(300) 评论(0) 推荐(0)
摘要: 1. 什么是模块 说白了就是一个python文件即扩展名为py的文件。 1 ''' 2 Python模块(Module)是一种封装了代码的文件即是⼀个 Python ⽂件,以 .py 结尾,包含了 Python 对象定义和Python语句即模块可以包含函数、类、变量等python代码。 3 模块能定 阅读全文
posted @ 2023-07-23 07:53 Allen_Hao 阅读(54) 评论(0) 推荐(0)