• 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

  • 相关阅读:
    kubernetes入门之kube-proxy实现原理
    kubernetes源码阅读及编译
    docker的网络-Container network interface(CNI)与Container network model(CNM)
    kubernetes入门之skydns
    浅析flannel与docker结合的机制和原理
    kubernetes入门之快速部署
    python并发获取snmp信息及性能测试
    Facebook开源的基于SQL的操作系统检测和监控框架:osquery daemon详解
    Facebook开源的基于SQL的操作系统检测和监控框架:osquery Table详解
    视频工具类产品是个什么玩意,产品经理怎么构思一款视频工具类产品
  • 原文地址:https://www.cnblogs.com/sunshine-blog/p/12186162.html
Copyright © 2020-2023  润新知