多进程 存钱取钱问题 异步 同步 互斥问题





第一种 情况 多进程的特点 

1 独立,三个 程序 互不干扰 独立执行 各干的事

2并发,一个cpu 可以 干好几件 事  ,但不是 真正的 同时 执行 ,既并行。模拟 并行 。cpu 时间切片,轮询执行。

3异步 各个 进程 没有资源共享 。不需要 等待 其他 进程 完成 再进行 自己的 操作。

第二种情况

value 共享 ,进程同步 需要等待 另一个进程执行完,使用 共享value,再接着执行自己进程的value,

进程互斥,另一个进程执行,自己的进程等待,因为value 资源 共享,需要另一个进程使用完value 再执行

 并发执行 ,有先后顺序,不是同时执行,cpu 轮询操作,不确定 哪一个 先执行完?所以 money 结果不一样。

第三种情况

value 上锁 ,保证 自己的 进程 全部 执行完 ,再让别人使用 ,进程同步,并发。相对于 没有执行的 进程 就是 阻塞。 

概念: 共享内存(value就是)

最简单的进程间通信方式,允许多个进程访问相同的内存,一个进程改变 其中的数据 后,其他的进程 都可以看到数据的变化。

共享内存 是进程间最快的 通信方式。

1进程共享一块内存空间

2访问共享内存和访问私有内存一样快

3不需要系统调用和内核入口

4不造成不必要的内存复制

注意:

    Python 提供两种共享 内存 方式 haredctypes 与 manager

manager 效率低,但支持远程共享内存

sharedctypes 效率较高,快manager 两个数量级,在多进程访问时与普通内存访问相当。

multiprocessing 中 value 的 值

value(类型,值)

类型: 整型 i

          浮点 f

            双精度 d

money=Value('i',2000)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值