在分叉进程中重新启动线程
发布时间:2020-12-13 18:54:56 所属栏目:Linux 来源:网络整理
导读:我知道没有标准的方法来分支多线程进程.但是,我想到的一件事是,由于分叉进程是精确的副本或原始进程,所以线程堆栈就在那里. 有没有人知道如何在分叉进程中从上次执行状态重新启动线程.为简单起见,我们可以假设在分叉时没有获得的锁.比如说,分叉是在两个障碍
我知道没有标准的方法来分支多线程进程.但是,我想到的一件事是,由于分叉进程是精确的副本或原始进程,所以线程堆栈就在那里. 有没有人知道如何在分叉进程中从上次执行状态重新启动线程.为简单起见,我们可以假设在分叉时没有获得的锁.比如说,分叉是在两个障碍之间完成的. 最佳答案
线程执行状态不仅是堆栈中的数据.它也是一组CPU寄存器,丢失了.
do_fork()系统调用只是不复制线程中的任何其他线程,执行系统调用do_fork – > copy_process并且在line 1181有一次copy_thread调用
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |