vcbeaut 发表于 2020-10-28 17:18:44

线程的Daemon有什么作用?

线程的Daemon有什么作用?

疾风怪盗 发表于 2020-10-28 18:42:12

案例:
import threading
import time
import os


def sing(num, name):
    #查看当前线程的信息
    print(threading.current_thread())
    for i in range(num):
      print(f'{name}在唱歌{i + 1}次...')
      time.sleep(0.5)


def dance(num, name):
    # 查看当前线程的信息
    print(threading.current_thread())
    for i in range(num):
      print(f'{name}在跳舞{i + 1}次...')
      time.sleep(0.5)


if __name__ == '__main__':# 主进程

    # 创建子线程对象并指定执行的任务名
    # args传参,传递元组,仅一个参数时要求有个逗号,表示元组
    s = threading.Thread(target=sing, args=(3, 'mike'))
    # kwargs传参,传递字典
    d = threading.Thread(target=dance, kwargs={'num': 5, 'name': 'jake'})
    #设置守护主进程,当主进程执行完毕,子线程剩余的代码不再执行,自动销毁
    s.setDaemon(True)
    d.setDaemon(True)

    # 启动子进程并执行任务
    s.start()
    d.start()
    time.sleep(1)
    print('主进程执行完毕...')

页: [1]
查看完整版本: 线程的Daemon有什么作用?