zoukankan      html  css  js  c++  java
  • python多进程apply与apply_async的区别

    为什么会这样呢?

    因为进程的切换是操作系统来控制的,抢占式的切换模式。
    我们首先运行的是主进程,cpu运行很快啊,这短短的几行代码,完全没有给操作系统进程切换的机会,主进程就运行完毕了,整个程序结束。子进程完全没有机会切换到程序就已经结束了。

    apply是阻塞式的。

    首先主进程开始运行,碰到子进程,操作系统切换到子进程,等待子进程运行结束后,在切换到另外一个子进程,直到所有子进程运行完毕。然后在切换到主进程,运行剩余的部分。

    apply_async是异步非阻塞式的。

    首先主进程开始运行,碰到子进程后,主进程说:让我先运行个够,等到操作系统进行进程切换的时候,在交给子进程运行。以为我们的程序太短,然而还没等到操作系统进行进程切换,主进程就运行完毕了。

    想要子进程执行,就告诉主进程:你等着所有子进程执行完毕后,在运行剩余部分。

    注意:close必须在join前调用。

    作者:有点d伤
    链接:https://www.jianshu.com/p/0a55507f9d9e
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    远程办公的一天:魔幻24小时
    LVS:三种负载均衡方式比较
    程序员的二十句励志名言,看看你最喜欢哪句?
    个人服务器开通~
    jquery大全
    CSS大全
    英语中的连词说明
    高版本SqlServer转低版本SqlServer经验总结
    SQLServer中,sa帐号旁边有个小红箭头
    Entity Framework GroupBy usage
  • 原文地址:https://www.cnblogs.com/luyanru66/p/9380713.html
Copyright © 2011-2022 走看看