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

执行结果:

python多线程同时执行2个函数任务之threading_代码实现

 

# 功能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函数

执行结果:

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

 

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