Python multiprocessing相关疑问

1. multiprocessing 和 threading有什么区别?

  threading module并没有真正利用多核。而multiprocessing 利用subprocess避开了python 中的Global Interpreter Lock.

  "the multiprocessing module allows the programmer to fully leverage multiple processors on a given machine."

2. 为什么我要创建一个daemon process需要用os.fork()?[待续]

3. 用multiprocessing module创建的non-daemon、daemon process 有什么区别?

  non-daemon: parent process 会等到它返回再退出

  daemon: parent process 退出时会直接把它杀掉

4. 既然parent process会等non-daemon child, 有没有join() 有什么区别?

  没有join(), parent process 会先执行完所有的statement 再等待child non-daemon 返回。

  有join(), parent process会在join()的地方等child non-daemon 返回 再继续执行剩下的代码。

5. 在parent 中定义的signal handler是会被child 继承的, 是不是child 先handler signal , 返回后 parent handle signal? [待续]


6. 是不是所有的signal handler 都会被child 继承?我发现SIGALRM没有被继承? [待续]

原文地址:https://www.cnblogs.com/lynnge/p/5027059.html