python多线程管理

作者: admin 分类: Python 发布时间: 2023-02-02 22:29 浏览 48 次
# 要引用Thread,还有threading,才能使用下面的方法
# 在这里threading就好像一个线程大管家,通过它可以调用方法获取相关信息 并进行管理
from threading import Thread
import threading

thread_list = []  # 将子线程加入列表
t = threading.current_thread()
print(f'{t.name}-{t.ident}')  #打印线程名称和id

# 设置daemon为True,则子线程为守护进程,当主进程结束后,子线程跟着退出
# 设置daemon为False,主线程退出时,对子线程没有影响
thread_1=Thread(target=函数名,args=(传参,),daemon=0/1) # args为数组,所以参数后面一定要带“,”
thread_2=Thread(target=函数名,args=(传参,),daemon=0/1)
thread_3=Thread(target=函数名,args=(传参,),daemon=0/1)
thread_1.start()
thread_2.start()
thread_3.start()
thread_list.append(thread_1)
thread_list.append(thread_2)
thread_list.append(thread_3)

# 获取当前线程为主线程名称和id号并打印
t = threading.current_thread()
print(f'{t.name}-{t.ident}')

# 轮询打印线程列表中所有子线程信息
for t in thread_list:
    print(t.is_alive())  # 打印线程是否活动
    print(t.name)  # 打印线程名称
    print(t.ident)  # 打印线程id
    t.join()  # 使用join方法可以让当前线程(这里指主线程)要等待子线程执行完毕后,在执行主线程后面的代码
# 通过threading.enumerate()方法遍历所有进程的信息
for t in threading.enumerate():
    print(f'{t.ident}-{t.name}')  # 遍历所有线程id和名称

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续整理创作!

发表评论

邮箱地址不会被公开。 必填项已用*标注