python多线程同时执行2个函数任务之threading

本文讲述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函数

执行结果:

参考链接:http://www.kgula.com/article/1944270.html

猜你喜欢

转载自www.cnblogs.com/sunshine-blog/p/12186162.html
今日推荐