美文网首页
python进程和线程中的join方法

python进程和线程中的join方法

作者: wisdom2018 | 来源:发表于2020-08-15 15:04 被阅读0次

    python中创建进程的方式
    一、Process(target=函数名,args=(),name,kwargs)
    target:加进程调用的函数名,一般不加括号
    name:进程的名字
    kwargs:字典参数
    args:元组参数,如果参数就一个,记得加逗号’,’

    import threading
    import time
    from multiprocessing import Process
    def sing():
       for i in range(1,5):
           print('正在场地%d首歌'%i)
           time.sleep(0.4)
    def dance():
       for i in range(1,5):
           print('正在跳第%d场舞蹈'%i)
           time.sleep(0.4)
    
    if __name__ == '__main__':
       p1=Process(target=sing,name='sing')
       p2=Process(target=dance,name='dance')
       p1.start()
       p2.start()
       dance()
    

    Python多线程与多进程中join()方法的效果是相同的

    join所完成的工作就是线程同步,即主线程任务结束之后,进入阻塞状态,一直等待其他的子线程执行结束之后,主线程再终止
    import threading
    import time

    def run():
       time.sleep(2)
       print('当前线程的名字是: ', threading.current_thread().name)
       time.sleep(2)
    
    
    start_time = time.time()
    
    print('这是主线程:', threading.current_thread().name)
    thread_list = []
    for i in range(5):
       t = threading.Thread(target=run)
       thread_list.append(t)
    
    for t in thread_list:
       t.start()
    
    print('主线程结束!' , threading.current_thread().name)
    print('一共用时:', time.time()-start_time)
    

    相关文章

      网友评论

          本文标题:python进程和线程中的join方法

          本文链接:https://www.haomeiwen.com/subject/yrjadktx.html