|
发表于 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('主进程执行完毕...')
复制代码 |
|