zoukankan      html  css  js  c++  java
  • 学习Python3 互斥锁遇到的mac系统遇到的错误 FileNotFoundError: [Errno 2] No such file or directory

    学习Python3 互斥锁遇到的mac系统遇到的错误 FileNotFoundError: [Errno 2] No such file or directory

    mac系统
    python3.4更新后,默认用“spawn”,开启进程,我们要主动指定为“fork”
    spawn:使用此方式启动的进程,只会执行和 target 参数或者 run() 方法相关的代码。Windows 平台只能使用此方法,事实上该平台默认使用的也是该启动方式。相比其他两种方式,此方式启动进程的效率最低。
    fork:使用此方式启动的进程,基本等同于主进程(即主进程拥有的资源,该子进程全都有)。因此,该子进程会从创建位置起,和主进程一样执行程序中的代码。注意,此启动方式仅适用于 UNIX 平台,os.fork() 创建的进程就是采用此方式启动的。
    forserver:使用此方式,程序将会启动一个服务器进程。即当程序每次请求启动新进程时,父进程都会连接到该服务器进程,请求由服务器进程来创建新进程。通过这种方式启动的进程不需要从父进程继承资源。注意,此启动方式只在 UNIX 平台上有效。

    from multiprocessing import Process, Lock
    import time
    import multiprocessing
    
    
    def task(name, mutex):
        with mutex:
            print("%s 1" % name)
            time.sleep(1)
            print("%s 2" % name)
            time.sleep(1)
            print("%s 3" % name)
    
    
    if __name__ == '__main__':
        # 第一种解决办法 
        multiprocessing.set_start_method("fork")
        mutex = Lock()
        for i in range(3):
            p = Process(target=task, args=("子进程%s" % i, mutex))
            p.start()
    
    
    from multiprocessing import Process, Lock
    import time
    
    def task(name, mutex):
        with mutex:
            print("%s 1" % name)
            time.sleep(1)
            print("%s 2" % name)
            time.sleep(1)
            print("%s 3" % name)
    
    
    if __name__ == '__main__':
    
        """
        第二种解决办法
        您需要在其中添加联接。注意,不能保证过程将按您的要求按数字顺序启动。
        您需要在流程开始之前添加一个延迟,以确保按您期望的顺序将其添加到执行队列中。
        """
        processes = []
        mutex = Lock()
        for i in range(3):
            p = Process(target=task, args=('Process %s' % i, mutex))
            processes.append(p)
            p.start()
        for p in processes:
            p.join()
    
    
  • 相关阅读:
    40个极简WordPress主题
    一些上流的CSS3图片样式
    15个最好的 HTML5 视频播放器
    优秀的IOS界面
    25 个超棒的 WordPress 主题(2012)
    Codekit 为Web前端打造的全能型神器(附推荐各种工具)
    10 个精彩的、激发灵感的 HTML5 游戏
    20个非常绚丽的 CSS3 特性应用演示
    25+ 个免费精美的商业风格的 WordPress 主题
    10 款非常棒的CSS代码格式化工具推荐
  • 原文地址:https://www.cnblogs.com/wxvirus/p/14730274.html
Copyright © 2011-2022 走看看