线程和叉
Threads and Fork
假设我们有这段代码:
main
some code...
fork()
fork()
some code
问题是:
运行 有多少线程?
谢谢!
感谢 Jeremy 的帮助,我找到了答案并想与您分享。
一般来说,如果我们有一个 fork(),就会创建一个 child。除非我们对 child 和 child 运行 有不同的代码,否则 parent 的代码(也就是 fork() 下的代码)。
所以在这个例子中,第一个叉子将创建一个新进程,因为它将 运行 第二个叉子。
所以我们有 1 个线程用于 parent。来自 fork1 的 child1 的 1 个第二个线程。由于 fork2,来自 child1 的 1 个第三个线程。最后是来自 child2 的话题。
所以总共有4个线程。
假设我们有这段代码:
main
some code...
fork()
fork()
some code
问题是: 运行 有多少线程?
谢谢!
感谢 Jeremy 的帮助,我找到了答案并想与您分享。
一般来说,如果我们有一个 fork(),就会创建一个 child。除非我们对 child 和 child 运行 有不同的代码,否则 parent 的代码(也就是 fork() 下的代码)。 所以在这个例子中,第一个叉子将创建一个新进程,因为它将 运行 第二个叉子。
所以我们有 1 个线程用于 parent。来自 fork1 的 child1 的 1 个第二个线程。由于 fork2,来自 child1 的 1 个第三个线程。最后是来自 child2 的话题。 所以总共有4个线程。