一.什么是线程
1.线程的介绍
在python中,想要实现多任务除了使用进程,还可以使用线程来完成,线程是实现多任务的另外一种方式.
2.线程的概念
线程是进程中执行代码的一个分支,每个执行分支(线程)想要工作执行代码需要cpu进行调度,也就是说线程是cpu调度的基本单位,每个进程至少都有一个线程,而这个线程就是我们常说的主线程.
3.线程的作用
.多线程也可以完成多任务
4.多线程是伪多线程
因为python解释器中存在GIL锁,所以python中的多线程是伪多线程,也就是cpu不能并行执行,只能并发执行.
二.多线程的使用
1.导入线程模块
#导入线程模块
import threading
2.线程Thread参数说明
Thread([group [, target [, name [, args [, kwargs]]]]])
group: 线程组,目前只能使用None
target: 执行的目标任务名
args: 以元组的方式给执行任务传参
kwargs: 以字典方式给执行任务传参
name: 线程名,一般不用设置
3.启动线程
启动线程使用start方法
4.多线程完成多任务的代码
import threading
import time
# 唱歌任务
def sing():
# 扩展: 获取当前线程
# print("sing当前执行的线程为:", threading.current_thread())
for i in range(3):
print("正在唱歌...%d" % i)
time.sleep(1)
# 跳舞任务
def dance():
# 扩展: 获取当前线程
# print("dance当前执行的线程为:", threading.current_thread())
for i in range(3):
print("正在跳舞...%d" % i)
time.sleep(1)
if __name__ == '__main__':
# 扩展: 获取当前线程
# print("当前执行的线程为:", threading.current_thread())
# 创建唱歌的线程
# target: 线程执行的函数名
sing_thread = threading.Thread(target=sing)
# 创建跳舞的线程
dance_thread = threading.Thread(target=dance)
# 开启线程
sing_thread.start()
dance_thread.start()