|
|
1
10
只有调用的线程
我相信这意味着你通常应该没事,只要有多线程
库使用
编辑:The
|
|
|
2
3
正如@matthew在其答案中所写,父进程中的其他线程将不存在于子进程中(如果您使用pthreads)。 请注意,如果不是这样,则将exec()调用置于对fork的调用“紧接其后”是没有帮助的,因为其他线程仍有可能在对exec()的调用之前运行。但是,您可以通过在调用fork()之前锁定互斥体来控制这一点——它基本上会被对exec()的调用破坏。 |
|
|
3
0
我也认为,所有线程都将在子进程中复制。但这不是真的。由于子进程中没有复制其他线程,因此如果在执行之前使用互斥锁/锁,则需要确保编写了fork处理程序来正确处理它们。 这是一篇关于它的文章。 http://learnwithtechies.com/tech/index.php?option=com_content&view=article&id=15:fork-in-multithreaded-environment&catid=10:unix |
|
|
James G · 分叉过程每次打印的方式不同 8 年前 |
|
|
Filip Spasovski · fork()从何处开始[重复] 8 年前 |
|
|
Alopex · 如何从子进程到父进程获取返回值? 8 年前 |
|
|
TheAndreyx22 · 查看execvp(); 8 年前 |
|
|
Jacob H · 如何写入正在运行的程序的stdin 8 年前 |
|
|
Pedro · execlp()无法检索正确的输入 8 年前 |
|
|
Giorgi Cercvadze · 如何将暂停的进程设置为后台? 8 年前 |
|
|
S. N · 使用C创建子进程和父进程 8 年前 |
|
|
funcs · 无限循环中来自子级的read()标准输出 8 年前 |