我有一个使用管道和叉子执行 find 命令的程序。当我每次查找使用一个主 pthread 和一个 pthread 时,我在 pstree 中有这些结果(对于 2 个查找):
sysexplorer─┬─2*[find]
└─{sysexplorer}
当我使用一个主 pthread 和一个线程池(有 10 个线程)进行查找时,我在 pstree 中有这些结果(再次查找 2 个):
sysexplorer─┬─2*[find]
└─11*[{sysexplorer}]
那是对的吗?我相信它一定是这样的:
sysexplorer─┬─10*[find]
└─1*[{sysexplorer}] or sysexplorer─┬─11*[{sysexplorer}]
但我没有经验,所以我不能确定。
fork 在 find 之前被调用。这是一个原因吗?
如果这是错误的,我该怎么办?