python多线程应用实例_python多线程threading的Thread使用案例详解

本文讲述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同步进行,提高了效率

代码图例如下:

181105847_1_20200125040709644

以上是两个任务同时进行,如果要实现任务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,听音乐: 义勇军进行曲

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值