為什么會這樣呢?
因為進程的切換是操作系統來控制的,搶占式的切換模式。
我們首先運行的是主進程,cpu運行很快啊,這短短的幾行代碼,完全沒有給操作系統進程切換的機會,主進程就運行完畢了,整個程序結束。子進程完全沒有機會切換到程序就已經結束了。
apply是阻塞式的。
首先主進程開始運行,碰到子進程,操作系統切換到子進程,等待子進程運行結束后,在切換到另外一個子進程,直到所有子進程運行完畢。然后在切換到主進程,運行剩余的部分。
apply_async是異步非阻塞式的。
首先主進程開始運行,碰到子進程后,主進程說:讓我先運行個夠,等到操作系統進行進程切換的時候,在交給子進程運行。以為我們的程序太短,然而還沒等到操作系統進行進程切換,主進程就運行完畢了。
想要子進程執行,就告訴主進程:你等着所有子進程執行完畢后,在運行剩余部分。
作者:有點d傷
鏈接:https://www.jianshu.com/p/0a55507f9d9e
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。