我知道没有标准的方法来分支多线程进程.但是,我想到的一件事是,由于分叉进程是精确的副本或原始进程,所以线程堆栈就在那里.
有没有人知道如何在分叉进程中从上次执行状态重新启动线程.为简单起见,我们可以假设在分叉时没有获得的锁.比如说,分叉是在两个障碍之间完成的.
最佳答案线程执行状态不仅是堆栈中的数据.它也是一组cpu寄存器,丢失了.do_fork()系统调用只是不复制线程中的任何其他线程,执行系统调用do_fork – > copy_process并且在line 1181有一次copy_thread调用
retval = copy_thread(clone_flags,stack_start,stack_size,p,regs);
总结 以上是内存溢出为你收集整理的在分叉进程中重新启动线程全部内容,希望文章能够帮你解决在分叉进程中重新启动线程所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)