zoukankan      html  css  js  c++  java
  • 互斥锁

    进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,而共享带来的是竞争,竞争带来的结果就是错乱,无法保证数据的安全性。所以在  运行的时候需要通过加锁来对进程的限制,以保证数据的安全性,但是带来的是执行效率低下,有并发运行转成串行运行

    from multiprocessing import Process, Lock  #锁模块
    import time
    
    
    class Myprocess(Process):
    
        def __init__(self, name, mutex):
            super().__init__()
            self.name = name
            self.mutex = mutex
    
        def run(self):
            self.mutex.acquire()  #加锁
            print('%s is running 1' % self.name)
            time.sleep(1)
            print('%s is running 2' % self.name)
            time.sleep(1)
            print('%s is running 3' % self.name)
            self.mutex.release()  #释放
    
    
    if __name__ == '__main__':
        mutex = Lock()  #实例化锁对象
        for i in range(3):
            p = Myprocess('子进程%s' % i, mutex)
            p.start()
  • 相关阅读:
    iTerm2 颜色配置
    IOS_问题: Xcode8 安装KSImageName插件, 编代码就崩了
    IOS_设置启动图片若干问题
    Android 多国语言
    Reveal 配置与使用
    自定义代码块
    Android 动画
    SQL
    dialog
    2016-1-18UIlabel学习,正则表达式
  • 原文地址:https://www.cnblogs.com/zhengyiqun1992/p/10395940.html
Copyright © 2011-2022 走看看