在 POSIX 标准中,fork 的行为是这样的:复制整个用户空间的数据(通常使用 copy-on-write 的策略,所以可以实现的速度很快)以及所有系统对象,然后仅复制当前线程到子进程。这里:所有父进程中别的线程,到了子进程中都是突然蒸发掉的。
其它线程的突然消失,是一切问题的根源。
上面摘自: http://blog.codingnow.com/2011/01/fork_multi_thread.html
在android中,为了避免这一问题,采用了用专门zygote进程来fork新应用。
而zygote只有一个thread.
联系客服