zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    datagridview绑定xml
    为当前会话的所有作用域中的任何表最后生成的标识值。
    Installation failed with message Failed to finalize session : INSTALL_FAILED_INVALID_APK: Split lib_slice_8_apk was defined multiple times. It is possible that this issue is resolved by uninstalling a
    修改android Studio SDK 路径产生的问题(模拟器不能启动了)
    android 2.3.3 配置github的两步骤
    Android Studio 2.3.3 调用asp.net webService实战(拒绝忽悠)
    CSS style 属性
    Html fieldset、legend 标签
    Html lable 标签
    Html table、thead、tr、th、td 标签
  • 原文地址:https://www.cnblogs.com/sunshine-blog/p/12186162.html
Copyright © 2011-2022 走看看