• 线程的join方法


    线程的join方法

    from threading import Thread
    import time
    def task():
        print('子线程 start')
        time.sleep(2)
        print('子进程 end')
    
    t=Thread(target=task)
    t.start()
    t.join()
    print('主进程')
    
    
    from threading import Thread
    import time
    def task(name,n):
        print(f'{name} start')
        time.sleep(n)
        print(f'{name} end')
    
    t1 = Thread(target=task,args=('线程1',1))
    t2 = Thread(target=task,args=('线程2',2))
    t3 = Thread(target=task,args=('线程3',3))
    start = time.time()
    t1.start()
    t2.start()
    t3.start()
    t1.join() # 111s
    t2.join() #
    t3.join()
    end = time.time() # 3.0039877891540527
    # 思考一下 在单核的情况下 多个线程是如何利用cpu的
    print(end-start)
    
    
    # print('主线程')
    
    
    from multiprocessing import Process
    from threading import Thread
    import time
    def task():
        print('进程 开启')
        time.sleep(10)
        print('进程 结束')
    def task2():
        print('子线程 开启')
        time.sleep(2)
        print('子线程 结束')
    
    if __name__ == '__main__':
        p = Process(target=task)
        t = Thread(target=task2)
        t.start() # 开线程
        p.start() # 开进程
        print('子进程join开始')
        p.join() # 主进程的主线程等待子进程运行结束
        print('主')
    
  • 相关阅读:
    蓝翔杯子校内赛练习代码
    [蓝桥杯][算法训练VIP]猴子分苹果
    系统设计部分代码
    坐标离散化
    蒟蒻吃药计划-治疗系列 #round 1 机器分配+挖地雷
    蒟蒻吃药计划
    F小蒟蒻教你卡常
    最长不下降子序列
    最大子段和(DP)
    luogu P1216 (USACO1.5) Number Triangles
  • 原文地址:https://www.cnblogs.com/aden668/p/11534360.html
Copyright © 2020-2023  润新知