分享

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

 copy_left 2020-01-25

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

代码图例如下:

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

以上是两个任务同时进行,如果要实现任务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条评论

    发表

    请遵守用户 评论公约

    类似文章 更多