说明


作为一种 python 框架模型的记录吧,用于个人总结,不定时更新。

正文


1. 主进程退出后,子进程也跟着退出

之前遇到过一种情况,用 flet 写了一个页面,然后又同时开了一个 tcp server 的子线程,flet页面点击关闭后,

tcp server 却没有退出。在linux中按 Ctrl + c 可以强制结束,但是如果在 windows 中单独起一个 powershell 终端,

flet 页面退出后,powershell 终端就卡住了(实际上是 tcp server 未关闭),只能通过关闭终端的方式,这种情况非常影

响调试。于是想要找到一种方式,flet 界面退出后,tcp server 也要退出。threading.Thread 无法关闭子线程,但是

multiprocessing.Process 是可以的,于是有了这样一种模型:

#-*- coding:utf-8 -*-
from multiprocessing import Process
import time def task1(): while True:
print(time.time())
time.sleep(1) def main():
print("hello")
time.sleep(10)
print("main is finished, start exit") if __name__ == "__main__":
task1_pcs = Process(target=task1)
task1_pcs.start() main()
#task1_pcs.join()
task1_pcs.terminate()

这个模型可以在自定义主函数 main() 退出后,自动关闭之前启动的进程。套用在一些桌面界面软件上,可以增加用户体验。

python3 模型日记的更多相关文章

  1. Python3+Selenium2完整的自动化测试实现之旅(五):自动化测试框架、Python面向对象以及POM设计模型简介

    前言 之前的系列博客,陆续学习整理了自动化测试环境的搭建.IE和Chrome浏览器驱动的配置.selenium-webdriver模块封装的元素定位以及控制浏览器.处理警示框.鼠标键盘等方法的使用,这 ...

  2. 修正剑桥模型预测-用python3.4

    下面是预测结果: #!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" ""& ...

  3. python3.6以上 asyncio模块的异步编程模型 async await语法

    这是python3.6以上版本的用法,本例是python3.7.2编写使用asyncio模块的异步编程模型,生产这消费者,异步生产,用sleep来代替IO等待使用async和await语法来进行描述a ...

  4. 基于Python3.7和opencv的人脸识别(含数据收集,模型训练)

    前言 第一次写博客,有点紧张和兴奋.废话不多说,直接进入正题.如果你渴望使你的电脑能够进行人脸识别:如果你不想了解什么c++.底层算法:如果你也不想买什么树莓派,安装什么几个G的opencv:如果你和 ...

  5. 在docker容器中python3.5环境下使用DIGITS训练caffe模型

    ********* 此处使用的基础镜像为 nvcr.io/nvidia/digits:18.06,镜像大小为6.04GB,可从nvidia官方pull此镜像: 容器配置: CUDA:9.0 CUDNN ...

  6. Python3学习之路~9.4 队列、生产者消费者模型

    一 队列queue 当必须在多个线程之间安全地交换信息时,队列在线程编程中特别有用. 队列的作用:1.解耦,使程序直接实现松耦合 2.提高处理效率 列表与队列都是有顺序的,但是他们之间有一个很大的区别 ...

  7. Django学习日记03_模型_Fields

    创建模型 模型对应工程中的应用,一个工程可能包含很多的应用,通过命令 python manage.py startapp myapp 创建一个叫myapp的应用,django会帮助生成以下目录: po ...

  8. CentOS7攻克日记(三) —— 安装Python3.6

    我是在EVERNOTE上面写的,本来格式是有代码段的,结果复制上来就没有了,所以会有一点乱,我就不调整了   我主要安装的是python环境,这一篇主要解决一下python的问题.在这里给个建议,安装 ...

  9. python3 LDA主题模型以及TFIDF实现

    import codecs #主题模型 from gensim import corpora from gensim.models import LdaModel from gensim import ...

  10. 关于Python2和Python3之间的文本模型改变

    原文地址:http://python-notes.curiousefficiency.org/en/latest/python3/questions_and_answers.html#what-act ...

随机推荐

  1. 2023年的Clion内建立多个子项目(保姆级教程)

    目录 下载插件C/C++ Single File Execution 项目操作 其他操作 下载插件C/C++ Single File Execution 项目操作 1.新建项目-->如图所示操作 ...

  2. IPv6 — 移动性

    目录 文章目录 目录 前文列表 IPv6 的移动性 移动操作 路由优化 前文列表 <IPv6 - 网际协议第 6 版> <IPv6 - 地址格式与寻址模式> <IPv6 ...

  3. 4G EPS 中的消息类型

    目录 文章目录 目录 消息 MIB(主消息块) SIBs(多个系统消息块) 系统消息的映射和调度 系统信息的更改通知 消息 LTE 的系统消息是蜂窝网络与 UE 互相交互的与 LTE 系统相关的.特殊 ...

  4. apisix~升级原始插件的方法

    扩展apisix原始插件 当apisix提供的插件不能满足我们要求时,我们可能需要将它的plugin进行个性化扩展,例如一个jwt认证插件jwt-auth,它本身具有验证jwt有效性功能,支持rs25 ...

  5. Kubernetes集群中配置Ingress支持HTTPS访问(一):cfssl

    目录 一.系统环境 二.前言 三.对称加密和非对称加密简介 四.什么是HTTPS 五.Ingress简介 六.配置ingress对外发布服务 6.1 安装NGINX ingress controlle ...

  6. centos7中输入ifconfig 没有IP地址

    vmware安装的centos7中没有出现eth0网卡,也没有ip,不能上网,输入ifconfig后如下图 解决办法 1.编辑网卡的配置文件 vi /etc/sysconfig/network-scr ...

  7. 昇腾开发全流程 之 MindSpore华为云模型训练

    前言 学会如何安装配置华为云ModelArts.开发板Atlas 200I DK A2, 并打通一个训练到推理的全流程思路. 在本篇章,首先我们开始进入训练阶段! 训练阶段 A. 环境搭建 MindS ...

  8. 关于《Java并发编程之线程池十八问》的补充内容

    一.写在开头 在上一篇文章我们写<Java并发编程之线程池十八问>的时候,鉴于当时的篇幅已经过长,很多内容就没有扩展了,在这篇文章里对一些关键知识点进行对比补充. 二.Runnable v ...

  9. GitHub two-factor authentication开启教程

    问题描述 最近登录GitHub个人页面动不动就有一个提示框"...... two-factor authentication will be required for your accoun ...

  10. C#.NET 4.8 WEBP 转 GIF

    C#.NET 4.8 WEBP 转 GIF 项目是.NET 4.8. nuget 引用 Magick.NET-Q16-AnyCPU ,版本:7.14.5.高版本,如:12.2 已经不支持.NET FR ...