python 多线程 守护线程

news/2024/7/24 13:31:23 标签: python

daemon线程:守护线程,优先级别最低,一般为其它线程提供服务。通常,daemon线程体是一个无限循环。如果所有的非daemon线程(主线程以及子线程)都结束了,daemon线程自动就会终止。t.daemon 属性,设置为True,则为daemon线程,必须在start()之前调用

python">import threading
import time

def say(name):
    print('say 你好 {} time: {} '.format(name,time.ctime()))
    time.sleep(4)
    print('say 结束 {} time:{}'.format(name,time.ctime()))

def listen(name):
    print('listen 你好 {} time: {} '.format(name,time.ctime()))
    time.sleep(4)
    print('listen 结束 {} time:{}'.format(name,time.ctime()))

if __name__=='__main__':
    t1=threading.Thread(target=say,args=('tony',))
    t1.setDaemon(True)  #设置为主线程的守护线程
    t1.start()
    t2=threading.Thread(target=listen,args=('simon',))
    t2.setDaemon(True)  
    #守护线程一般是服务于其他线程,当程序没有线程时,则守护线程自动结束
    t2.start()
    print('主线程结束')

不设置守护线程

python">import threading
import time

def say(name):
    print('say 你好 {} time: {} '.format(name,time.ctime()))
    time.sleep(4)
    print('say 结束 {} time:{}'.format(name,time.ctime()))

def listen(name):
    print('listen 你好 {} time: {} '.format(name,time.ctime()))
    time.sleep(4)
    print('listen 结束 {} time:{}'.format(name,time.ctime()))

if __name__=='__main__':
    t1=threading.Thread(target=say,args=('tony',))
    # t1.setDaemon(True)  #设置为主线程的守护线程
    t1.start()
    t2=threading.Thread(target=listen,args=('simon',))
    # t2.setDaemon(True)
    #守护线程一般是服务于其他线程,当程序没有线程时,则守护线程自动结束
    t2.start()
    print('主线程结束')


http://www.niftyadmin.cn/n/5313266.html

相关文章

C++其他语法总结

目录 《C基础语法总结》《C面向对象语法总结(一)》《C面向对象语法总结(二)》《C面向对象语法总结(三)》 一、运算符重载 运算符重载可以为运算符增加一些新的功能全局函数、成员函数都支持运算符重载常用的运算符重载示例 class Point {…

阿里云99元服务器赠送云·原生建站(电商版)

购买阿里云99元服务器赠送云原生建站(电商版),什么是云原生建站?类似模板建站,云原生建站预置响应式模板CMS内容管理系统,用户可以按需随意切换模板样式,通过模板可视化在线编辑轻松完成网站搭建…

python画彩虹和小熊

前言 今天,我们来画两个简单的图形。 一、彩虹 彩虹,又称天弓(客家话)、天虹、绛等,简称为"虹",是气象中的一种光学现象。当太阳光照射到半空中的水滴时,光线被折射及反射&#xf…

LeetCode 每日一题 2024/1/1-2024/1/7

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 1/1 1599. 经营摩天轮的最大利润1/2 466. 统计重复个数1/3 2487. 从链表中移除节点1/4 2397. 被列覆盖的最多行数1/5 1944. 队列中可以看到的人数1/6 2807. 在链表中插入最…

ip协议历史

今天的互联网,是万维网(WWW)一家独大。而在上世纪七八十年代,人们刚开始尝试网络连接时,那时出现了计算机科学研究网络、ALOHA 网、因时网、阿帕网等不同类型的网络,这些网络之间互相通信是个难题。 于是&…

基于SpringBoot摄影跟拍预定管理系统(系统+数据库+文档)

🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目 希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅摘 要 首先,一开始便是清楚的论…

RocketMQ5-03RocketMQ-Dashboard和Java客户端访问示例

接上篇02快速部署RocketMQ5.x(手动和容器部署) 已经完成 RocketMQ5.0 环境的部署,就需要对这个环境进行测试,查看集群、写入消息、读取消息等 本篇教你如何使用和查看部署的服务: Docker部署 Dashboard 获取镜像并下载部署服务 客户端连接 …

【互联网安全架构】渗透测试及常见的Web攻击手段

1.网络安全和渗透测试 (1)什么是网络安全 网络防御主要是针对各类网络攻击提供网络安全防御方案,为了应对攻击技术的不断革新,防御技术已经逐步从被动防御的历史阶段转变为主动防御阶段。目前常见的网络防御技术大体类型有加密技…