2009-11-06 60 views
0

我有一个应用程序有几个不同的线程。然后我用fork()分叉,但发现子进程必须重新创建这些线程。克隆过程中可以复制线程吗?谢谢!线程在分叉时未被复制?

+0

你使用什么语言?这可能与答案有关。 – 2009-11-06 02:38:47

+0

我猜C,但它可能有助于知道哪个操作系统,并且这些pthreads或什么? – 2009-11-06 02:39:37

+0

哦,我也猜测Linux是操作系统。 :) – 2009-11-06 04:05:23

回答

1

如果您使用的是Unix,那么在C语言中,fork()应该创建所有新线程,如果在线程创建后分叉的话,这会导致重复使用资源,因此可能是问题。

http://gauss.ececs.uc.edu/Users/Franco/ForksThreads/forks.html

这篇文章在多线程应用程序中使用叉问题的会谈,他们引用网页,该网页下面: http://www.viraj.org/b2evolution/blogs/index.php/2007/02/10/threads_and_fork_a_bad_idea

http://www.lsgalilei.org/glibc-doc/Threads-and-Fork.html

这个问题应该有你需要的答案,顺便说一句: fork and existing threads?

+0

非常感谢!我想我有你的答案! – xis 2009-11-06 17:23:22

+0

如果您有实际的答案,请将其作为问题的更新发布,以便如果其他人遇到相同类型的问题,可以帮助他们。 – 2009-11-06 19:08:55