一.引入
如果一个程序想同时执行多个部分的代码, 那么基本满足2种方式进行实现:
线程和进程。
二.线程
1)线程是一个抽象的概念,可以理解为程序执行代码时的那个执行流。(运行程序时的箭头,即程序运行的那一行)
2)当一个程序运行的时候,默认有一个线程,这个线程成为主线程。
3)多任务也就是可以理解为让你的代码再进行的过程中,额外创建一些线程,让这些线程去执行代码。
4)Python如果想使用线程实现多任务,可以使用thread模块,但是它比较底层,也就是说使用过程复杂,不方便;因此推荐使用threading模块,它对thread进行了一些包装,可以更方便的使用。
三.使用Threading模块
1) 单线程运行:即只有一个线程的程序
红色箭头可以理解为线程,即此时程序执行到这里。
2)多线程运行
1.导入threading模块
2.使用threading模块中的thread创建一个对象
3.调用这个实例对象的start方法让这个线程进行运行
示例代码如下:
import threading
import time
# 定义一个式例函数
def task_1():
while True:
print("我好帅")
time.sleep(1)
# 使用threading模块中的thread创建一个对象
t1 = threading.Thread(target=task_1) # target传入对应的函数名 若是带括号则是传入函数的返回值
# 调用这个实例对象的start方法让这个线程进行运行
t1.start()
while True:
print("我好美")
time.sleep(1)
注意点:
1)函数传参中target = 函数名,若是带括号则是传入函数的返回值
2)主线程经过start后继续执行,创建的分线程在task_1中开始执行
3)主线程和子线程的执行优先级不确定,由操作系统决定
输出结果: