来源:厚积薄发爱python
本文讲述2个函数任务,使用python的多线程同时执行这2个任务,代码如下:
from threading import Thread #导入线程函数
from time import sleep #导入时间休眠函数
def task1(n): #定义任务1
for x in range(n): #遍历数组n里的x
print("正在运行任务1,打印:",x) #打印正则运行任务1,打印x的值
sleep(0.5) #时间休眠0.5秒
def task2(): #定义任务2
list1=["北京欢迎您","红日","故宫的记忆","义勇军进行曲"] #定义列表1位4首歌曲名
for info in list1: #遍历list1里的信息
print("正在运行任务2,听音乐:",info) #打印正在运行任务2,听音乐:音乐名称
sleep(0.6) #时间休眠0.6秒
def main(): #定义main函数
t1=Thread(target=task1,args=(6,)) #定义线程t1,线程任务为调用task1函数,task1函数的参数是6
t2=Thread(target=task2) #定义线程t2,线程任务为调用task2函数,task2函数无参数
t1.start() #开始运行t1线程
t2.start() #开始运行t2线程
if __name__ == '__main__':
main() #调用main函数代码运行结果如下:
正在运行任务1,打印: 0
正在运行任务2,听音乐: 北京欢迎您
正在运行任务1,打印: 1
正在运行任务2,听音乐: 红日
正在运行任务1,打印: 2
正在运行任务2,听音乐: 故宫的记忆
正在运行任务1,打印: 3
正在运行任务2,听音乐: 义勇军进行曲
正在运行任务1,打印: 4
正在运行任务1,打印: 5
总结:最终实现了任务task1和task2同步进行,提高了效率
代码图例如下:
以上是两个任务同时进行,如果要实现任务1完成了再执行任务2,只需要在t1.start()后加个t1.join()即可,代码示例如下:
from threading import Thread #导入线程函数
from time import sleep #导入时间休眠函数
def task1(n): #定义任务1
for x in range(n): #遍历数组n里的x
print("正在运行任务1,打印:",x) #打印正则运行任务1,打印x的值
sleep(0.5) #时间休眠0.5秒
def task2(): #定义任务2
list1=["北京欢迎您","红日","故宫的记忆","义勇军进行曲"] #定义列表1位4首歌曲名
for info in list1: #遍历list1里的信息
print("正在运行任务2,听音乐:",info) #打印正在运行任务2,听音乐:音乐名称
sleep(0.6) #时间休眠0.6秒
def main(): #定义main函数
t1=Thread(target=task1,args=(6,)) #定义线程t1,线程任务为调用task1函数,task1函数的参数是6
t2=Thread(target=task2) #定义线程t2,线程任务为调用task2函数,task2函数无参数
t1.start() #开始运行t1线程
t1.join() #t1线程完成了才执行后续的动作
t2.start() #开始运行t2线程
if __name__ == '__main__':
main() #调用main函数上述代码最终的运行结果如下所示:
正在运行任务1,打印: 0
正在运行任务1,打印: 1
正在运行任务1,打印: 2
正在运行任务1,打印: 3
正在运行任务1,打印: 4
正在运行任务1,打印: 5
正在运行任务2,听音乐: 北京欢迎您
正在运行任务2,听音乐: 红日
正在运行任务2,听音乐: 故宫的记忆
正在运行任务2,听音乐: 义勇军进行曲
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69927053/viewspace-3122329/ ,如需转载,请注明出处,否则将追究法律责任。