一.单线程和多线程
二.多线程使用步骤
- 导入模块
- 创建子线程
- 使用子线程
三.多线程知识点
- 多线程模块:threading
- 创建线程对象:Thread(group, target, name, args, kwargs)
- group:指定线程组
- target:要执行的目标任务名
- name:线程名
- args:元组形式传参
- kwargs:字典形式传参
四.设置守护主线程的方式:
- threadingThread(target=show_info, daemon=True)
- 线程对象.setDaemon(True)
五.Thread对象方法
- start():开始执行线程
- join():等待线程结束
- terminate():立即终止线程
六.threading模块方法
import threading
# 获取当前进程信息
print(threading.current_thread())
# 获取当前进程名
print(threading.current_thread().getName())
七.注意事项
- 线程之间是无序的
- 所有进程结束之后主进程才能结束
- 线程之间共享全局变量
八.使用演示
-
代码
# 导入多线程模块 import threading # 导入时间模块 import time # 创建两个示例函数 def fun1(n): for i in range(n): time.sleep(0.2) print(i) def fun2(l): for i in l: time.sleep(0.2) print(i) # 程序入口 if __name__ == '__main__': # 创建两个线程对象 p1 = threading.Thread(target=fun1, name='第一个线程', args=(3,)) p2 = threading.Thread(target=fun2, name='第二个线程', kwargs={"l": ['aaa', 'bbb', 'cc']}) # 运行线程对象 p1.start() p2.start()
-
运行结果
D:\SOFT\Python\Python38\python.exe C:/Users/14116/Desktop/数据埋点/2.py 0 aaa bbb 1 2 cc 进程已结束,退出代码 0