| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python进程(多任务)的理解和使用,看这篇就够了 -> 正文阅读 |
|
[Python知识库]Python进程(多任务)的理解和使用,看这篇就够了 |
Python学习(进程) 进程(process) 1.概念: 计算机分配资源的最小单位,通俗来讲,一个正在运行的程序即是一个进程。 2.语法/包: 2.1导入进程包
通过进程创建进程对象
启动进程执行任务
2.2函数需要传入参数时: 在设置进程的函数中传递参数的两种方式 1.元组方式:args = 元组
2.字典方式:kwargs = 字典
2.3注意事项:元组中只有一个元素时写成(a,)形式,函数需要多个参数时元组中的元素需和其顺序一致 ? 字典中的元素的键需和函数形参的名字一致,顺序可不一致(字典本身就是没有顺序的) 3.案例: 创建一个coding函数和一个music函数,让两个函数在进程下执行 3.1不带参数
3.2带参数
4.获取进程编号 4.1进程编号的作用:想像一下,当一个运行的程序中有许多个进程时,别说我们想找到某一个进程,就连主进程和子进程我们都可能分不清,所以这个时候最好的方式就是获取他们的编号,以编号来区分。 获取当前进程的编号
获取父进程的编号
5.全局变量在子进程之间不共享 5.1全局变量在各子进程之间是不共享的,举例: 定义一个为列表的全局变量glb_list,再创建两个子进程write_process和read_process,write_process用于在glb_list中添加元素,read_process用于读取glb_list,我们发现,在write_process添加元素之后再用read_process去读取glb_list,但结果是读取的glb_list并没有改动。 代码实现:
6.主进程和子进程的结束顺序 在我们正在用QQ聊天,这时候qq的app相当于是主程序,而聊天窗口为子程序,当我们关闭app后,聊天窗口也会关闭。因此对于常识来看,当我们结束主进程之后,子进程也会立即被结束。但是实际上,我们的主程序结束子进程时,主进程会等待子进程执行完毕才结束。那么真的是这样吗,怎样实现在主进程结束的同时子进程也结束执行呢? 6.1验证:主程序结束子进程时,主进程会等待子进程执行完毕才结束 代码:
6.2实现主进程结束的同时子进程也结束执行 6.2.1将子进程设置成守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children 语法:子进程.daemon = True 代码:
6.2.2在主进程结束前直接终止子进程的执行 语法:子进程.terminate() 参考示例代码:
多任务就总结到这里了,欢迎大家点赞转发! 参考:1.https://www.bilibili.com/video/BV1Ex411x7Xn?p=37&vd_source=7f9a498048cacd0bd5f2c900fa2c44d6 2.https://blog.csdn.net/Python_0011/article/details/124822629 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 2:57:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |