zoukankan      html  css  js  c++  java
  • 7阻塞进程/ 线程的子进程/子线程之方法jion()

    """阻塞进程的子进程之方法jion()"""


    """
    在父进程中创建并启动子进程后,可以调用子进程的方法jion(),这样子进程就会把父进程
    阻塞。父进程等子进程执行完后再被阻塞的地方继续执行。
    在调用方法jion()时,可以指定参数timeout,设置阻塞时间
    """

    from multiprocessing import current_process, Process
    import time

    class MyProcess(Process):
    def run(self):
    print(('子进程 %d启动' % current_process().pid))
    time.sleep(2)
    print(('子进程 %d结束' % current_process().pid))


    def main():
    print(('父进程 %d启动' % current_process().pid))

    mp = MyProcess()
    mp.start()

    # 阻塞
    # mp.join()
    # 阻塞设定时间
    mp.join(1)
    #time.sleep(5)

    print(('父进程 %d结束' % current_process().pid))

    if __name__ == '__main__':
    main()

    #############################################################################

    """阻塞线程的子线程之方法jion()"""


    """
    在父线程中创建并启动子线程后,可以调用子线程的方法jion(),这样子线程就会把父线程
    阻塞。父线程等子线程执行完后再被阻塞的地方继续执行。
    在调用方法jion()时,可以指定参数timeout,设置阻塞时间
    """

    from threading import current_thread, Thread
    import time

    class Mythread(Thread):
    def run(self):
    print(('子线程 %s启动' % current_thread().getName()))
    time.sleep(2)
    print(('子线程 %s结束' % current_thread().getName()))


    print(('父线程 %s启动' % current_thread().getName()))

    mt = Mythread()
    mt.start()

    # 阻塞
    #mt.join()
    # 阻塞设定时间
    mt.join(3)

    print(('父线程 %s结束' % current_thread().getName()))
  • 相关阅读:
    微信小程序开发常用方法
    HTML5 video常用属性
    移动端键盘定制
    移动端弹性滑动以及滑动出界解决方案
    vue移动端Ui组件 mint-ui 使用指南
    vue.js的ajax和jsonp请求
    获取用户地理位置
    如何将一个已有的项目托管到github或是码云上?git的配置
    mvvm模式和mvc模式 概述总结对比
    使用Java的BlockingQueue实现生产者-消费者
  • 原文地址:https://www.cnblogs.com/sruzzg/p/12993940.html
Copyright © 2011-2022 走看看