zoukankan      html  css  js  c++  java
  • python之进程

    守护进程
    一个进程可以设为另一个进程的守护进程
    特点是:被守进程结束时,守护进程也会随之结束
    父进程交给子进程一个任务,然而父进程先与子进程结束了,子进程的任务也就没必要继续执行了
    p.daemon = True


    互斥锁
    互斥 互相排斥
    锁的本质就是一个标志 这个标志有两个状态 一个为锁定 一个为未锁定
    什么时候用 ,当多个进程要操作同一个资源时,就会造成数据错乱 , 通常将写入操作加锁 ,读取操作不需加

    加锁会把原本并发的任务,修改为串行 ,降低了效率 ,保证了数据的安全性
    锁可以指定一部分代码串行,其他任然可以并发

    加锁的位置,是需要重点考虑的问题

    join 也可以将任务变为串行
    join固定任务的执行顺序
    join会会使得子进程的代码全部串行 ,并且主进程也会阻塞住

    注意:
    1.要保证安全必须保证大家用的都是同一把锁
    2.不能对一把锁连续执行acquire 将会导致锁死



    IPC
    进程间通讯
    1.管道 单向通讯 ,传输的是二进制
    2.共享文件 数据量几乎不受限制,但是速度慢
    3.共享内存 数据量较小 但是速度快
    4.socket 编程复杂 传输的是二进制

    最主要的方式就是共享内存
    1.Manager() 作为了解
    2.Queue 必须掌握的方式 是一个种数据容器 其特点是先进先出 并且进程中的队列 可以共享数据,自带锁机制

    生产者消费者模型
    要解决的问题: 生成者与消费者能力不平衡,导致效率低
    如何解决的:
    1.把生成方和消费分解开耦合,即把任务分到不同进程中 各司其职
    2.分开后,由于进程之间相互隔离,所以需要一个共享的容器,Queue 闪亮登场
    解决了数据交换的问题 和锁的问题
  • 相关阅读:
    Jquery学习系列-制作Menu
    关于javascript里的parseInt() 与 parseFloaat() 文本转换为数字
    javascript简述
    【代码片段】HTML5基本结构及常用默认模版
    赋值运算符
    【代码片段】jQuery实现页面滚动时层智能浮动定位Fixed Floating Elements
    【代码片段】formLogin
    算数运算符
    关于javascript里的toFixed()方法格式化数字
    关于javascript里的setTimerout()设定时间
  • 原文地址:https://www.cnblogs.com/huanghongzheng/p/10973560.html
Copyright © 2011-2022 走看看