本文讲述2个函数任务,使用python的多线程同时执行这2个任务:
# 功能1:如下代码实现了任务task1和task2同步进行,提高了效率。
1 # coding:utf-8 2 3 from threading import Thread # 导入线程函数 4 from time import sleep # 导入时间休眠函数 5 6 7 def task1(n): # 定义任务1 8 for x in range(n): # 遍历数组n里的x 9 print("正在运行任务1,打印:", x) # 打印正则运行任务1,打印x的值 10 sleep(0.5) # 时间休眠0.5秒 11 12 13 def task2(): # 定义任务2 14 list1 = ["北京欢迎您", "红日", "故宫的记忆", "义勇军进行曲"] # 定义列表1位4首歌曲名 15 for info in list1: # 遍历list1里的信息 16 print("正在运行任务2,听音乐:", info) # 打印正在运行任务2,听音乐:音乐名称 17 sleep(0.6) # 时间休眠0.6秒 18 19 20 def main(): # 定义main函数 21 t1 = Thread(target=task1, args=(6,)) # 定义线程t1,线程任务为调用task1函数,task1函数的参数是6 22 t2 = Thread(target=task2) # 定义线程t2,线程任务为调用task2函数,task2函数无参数 23 t1.start() # 开始运行t1线程 24 t2.start() # 开始运行t2线程 25 26 27 if __name__ == '__main__': 28 main() # 调用main函数
执行结果:
# 功能2:如下代码实现了任务1完成了再执行任务2,代码示例如下:
1 # coding:utf-8 2 3 from threading import Thread # 导入线程函数 4 from time import sleep # 导入时间休眠函数 5 6 7 def task1(n): # 定义任务1 8 for x in range(n): # 遍历数组n里的x 9 print("正在运行任务1,打印:", x) # 打印正则运行任务1,打印x的值 10 sleep(0.5) # 时间休眠0.5秒 11 12 13 def task2(): # 定义任务2 14 list1 = ["北京欢迎您", "红日", "故宫的记忆", "义勇军进行曲"] # 定义列表1位4首歌曲名 15 for info in list1: # 遍历list1里的信息 16 print("正在运行任务2,听音乐:", info) # 打印正在运行任务2,听音乐:音乐名称 17 sleep(0.6) # 时间休眠0.6秒 18 19 20 def main(): # 定义main函数 21 t1 = Thread(target=task1, args=(6,)) # 定义线程t1,线程任务为调用task1函数,task1函数的参数是6 22 t2 = Thread(target=task2) # 定义线程t2,线程任务为调用task2函数,task2函数无参数 23 t1.start() # 开始运行t1线程 24 t1.join() # t1线程完成了才执行后续的动作 25 t2.start() # 开始运行t2线程 26 27 28 if __name__ == '__main__': 29 main() # 调用main函数
执行结果: