抢票小程序

from multiprocessing import Process
import json,time,os

def search():
    time.sleep(1)
    with open('db.txt','rt',encoding='utf8') as f:
        res=json.load(f)
        print(f'还剩{res["count"]}')

def get():
    with open('db.txt',encoding='utf8')as f:
        res=json.load(f)
    time.sleep(1)
    if res['count']>0:
        res['count']-=1
        with open('db.txt','wt',encoding='utf8')as f:
            json.dump(res,f)
        time.sleep(1.5) #模拟网络io
            print(f'进程{os.getpid()}抢票成功')
    else:
        print('票已经售空了')
def task():
    search()
    get()
if __name__ == '__main__':
    for i in range(10):
        p=Process(target=task)
        p.start()
        p.join()
# 为了保证数据的安全,要牺牲掉效率.

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...