1

假设一个进程产生了一个线程 A,而这个线程又产生了一个新的线程 B,现在假设线程 A 被杀死,那么线程 B 会发生什么。

我认为如果这些是 KLT,那么线程 B 被杀死肯定不会发生任何事情。对于 ULT,线程 B 也不应该发生任何事情

4

1 回答 1

3

没有。在分叉过程中发生的情况是线程 B 通过获取对线程 A 的页表的引用(虚拟内存引用)开始。一旦从 A 或 B 对这些页表进行任何更改,就会创建一个副本(为每个页面)并提供给它们两者。在这种情况下,B 只会继承所有的页表并做自己的事情。

于 2012-05-29T14:51:05.257 回答