zoukankan      html  css  js  c++  java
  • 7.15python进程锁

    #!/usr/bin/env python
    #!--*--coding:utf-8 --*--
    #!@Time    :2018/7/14 17:33
    #!@Author   TrueNewBee
    #
    
    # 火车票
    import json
    import time
    from multiprocessing import Process
    from multiprocessing import Lock
    
    def show(i):
        with open('ticket') as f:
            dic = json.load(f)
        print('余票: %s'%dic['ticket'])
    
    def buy_ticket(i,lock):
        lock.acquire() #拿钥匙进门
        with open('ticket') as f:
            dic = json.load(f)
            time.sleep(0.1)
        if dic['ticket'] > 0 :
            dic['ticket'] -= 1
            print('33[32m%s买到票了33[0m'%i)
        else:
            print('33[31m%s没买到票33[0m'%i)
        time.sleep(0.1)
        with open('ticket','w') as f:
            json.dump(dic,f)
        lock.release()      # 还钥匙
    
    if __name__ == '__main__':
        for i in range(10):
            p = Process(target=show,args=(i,))
            p.start()
        lock = Lock()
        for i in range(10):
            p = Process(target=buy_ticket, args=(i,lock))
            p.start()

    天真热,,天干物燥,!  要安安静静多看书!

  • 相关阅读:
    shared_ptr weak_ptr boost 内存管理
    _vimrc win7 gvim
    qt 拖放
    数学小魔术 斐波那契数列
    qt4 程序 移植到 qt5
    (转)字符串匹配算法总结
    c++11
    BM 字符串匹配
    编译qt5 demo
    c++ 类库 学习资源
  • 原文地址:https://www.cnblogs.com/zhen1996/p/9314213.html
Copyright © 2011-2022 走看看