7.15python进程锁

Posted 吾皇万岁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.15python进程锁相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python
#!--*--coding:utf-8 --*--
#[email protected]    :2018/7/14 17:33
#[email protected]   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()

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

以上是关于7.15python进程锁的主要内容,如果未能解决你的问题,请参考以下文章

python多线程

读写锁 与 互斥锁

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

Python11/12--GIL/互斥锁/进程池

041.Python守护进程,锁信号量和事件

python 归纳 (二四)_多进程数据共享和同步_锁Lock&RLock