• 进程相关内容


    1、基于多进程实现并发的套接字通信,完成如下功能:
    1、客户端链接功成功后,先登录,登录成功后才可以执行其他功能
    2、登录成功后可以执行下载功能
    3、登录成功后可以执行上传功能

    2.什么是互斥锁 
     
    	顾名思义,相互排斥,一人使用,其他人不能使用。
        锁其实就是给执行代码加上限制,本质上是一个标志为True,False
    
    1用来解决什么问题?  
    当并发的操作共享资源发生的数据安全问题
    2解决问题的原理是什么? 
    将访问共享资源的代码由并发变为串行
    3与join是的区别是什么?
    join:------
        join是让整个进程任务全都串行
        join是固定死任务的执行顺序
    mutex------
    	锁可以仅将部分代码变为串行
        锁-多进程之间还是公平竞争的
    
    
    3.编写模拟抢票代码  分析总结何时会出现数据错乱
    from multiprocessing import Process,Lock
    import json
    
    def show():
        with open("db.json")as f:
            data=json.load(f)
            print('剩余票数',data['count'])
    def buy():
        with open("db.json")as f:
            data=json.load(f)
            if data['count']>0:
                data['count']-=1
                with open("db.json",'wt')as f2:
                    json.dump(data,f2)
                    print('抢票成功')
    def task(mutex):
        show()
        mutex.acquire()
        buy()
        mutex.release()
    if __name__ == '__main__':
        mutex=Lock()
        for i in range(5):
            p=Process(target=task,args=(mutex,))
            p.start()
    #何时会错乱
    环境:
        前提给的票数限制越少,越会出现问题
        一张票出现并发的话,被多人抢到,出现实际多人了是同一张
        json读码出问题,wt写入清空,在写入的同时,另一方因为速度快,读入又写入,导致甲方失败
        在读入的时候不改变,在buy的进程中前后加锁后,限制了买的过程中的读入,保证安全
        show还是可以并发,buy加锁串行-----读写分开
    
    1两个进程同时在写的时候肯定会出问题
    2写的进程正在进行,你读的进程又来了
    

    ​ 4.进程队列是什么 有什么特点

    
    是一种特殊的容器
    特点是先进先出
    
    
    5.进程间通讯有哪些方法说明优缺点
    1共享文件
    	优点:数据量理论上没有限制
    	缺点:效率低
    	适用于:交互不频繁,且数据量较大情况
    	
    2共享内存(主要方式)
    	优点:效率高
    	缺点:数据量不能太大
    	适用于:交互频繁,交互量小
    3管道:
    	管道是基于文件的,它是单向的,百年城比较复杂
    4socket
    	编程复杂,更适用于基于网络交换数据
  • 相关阅读:
    redolog switch会发生完全检查点还是增量检查点?
    4G牌照发放生变 专家谏言电信联通如何选择
    [财富]iPhone如何征服日本?
    审计中移动现多处问题或致地方高层落马
    诺基亚CEO:Lumia不会像安卓推廉价版机型
    菜鸟学JDBC(二)
    简易网页采集器的实现
    手Q与微信:最终结局将会是手足相残!
    做网站Http状态码详解
    PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
  • 原文地址:https://www.cnblogs.com/zhuyuanying123--/p/11151298.html
Copyright © 2020-2023  润新知