zoukankan      html  css  js  c++  java
  • threading线程例子 (27-08)

    利用阻塞的时间空闲去执行另一个子线程

    import threading
    from time import ctime, sleep

    def music(func):  
      for i in range(2):
        print(func, ctime())      # 1 执行  # 4 执行  
        sleep(1)       # 阻塞
        print("end music", ctime())  # 3 执行  # 5 执行

    def move(func):
      for i in range(2):
        print(func, ctime())      # 2 执行  # 7 执行
        sleep(5)       # 阻塞
        print("end move", ctime())  # 6 执行  # 8 执行

    threads=[]
    t1 = threading.Thread(target=music,args=("小苹果",))
    threads.append(t1)
    t2 = threading.Thread(target=move,args=("华尔街之狼",))
    threads.append(t2)


    if __name__ == "__main__":   
      for t in threads:    # 遍历执行两个子线程
        t.start()      
    # 整体执行时间为10秒

    代码运行结果:

    小苹果 Fri Sep  7 16:19:09 2018
    华尔街之狼 Fri Sep  7 16:19:09 2018
    end music Fri Sep  7 16:19:10 2018
    小苹果 Fri Sep  7 16:19:10 2018
    end music Fri Sep  7 16:19:11 2018
    end move Fri Sep  7 16:19:14 2018
    华尔街之狼 Fri Sep  7 16:19:14 2018
    end move Fri Sep  7 16:19:19 2018    
  • 相关阅读:
    POJ 3349 HASH
    POJ 1840 HASH
    POJ 2785 HASH
    HDU 3926 图的同构
    POJ 2549 二分+HASH
    POJ 2002 统计正方形 HASH
    POJ 1971 统计平行四边形 HASH
    POJ 1635 树的最小表示法/HASH
    POJ 1200 字符串HASH
    ACM学习历程—HDU 1272 小希的迷宫(并查集)
  • 原文地址:https://www.cnblogs.com/uncle-kay/p/9605617.html
Copyright © 2011-2022 走看看