c-使用wait、waitpid、fork将作业拆分为两个线程



我希望将作业拆分为两个子进程。一个子项查找最小值,另一个子项找到最大值。这是示例代码:

http://pastebin.com/P29wsRdP

现在返回值是min:0max:0,你能看看这个吗?

进程不共享内存。函数修改的最小/最大值全局变量是进程的本地变量。它们都不会触及父最小/最大值变量。您需要以某种方式传达结果,例如使用管道/套接字。

我认为你还有一个问题,你实际上产生了三个过程。用第一个分叉()分叉的第一个进程将执行第二个分叉(

您不是在拆分线程,而是在拆分新进程,每个进程都有自己版本的变量(因为两个新进程都有各自独立的内存)。您要么需要某种IPC,要么需要实际使用线程。

您没有像其他人所描述的那样使用线程。

但是,当你们都可以在一个循环中寻找最小值/最大值时,为什么要这样做呢?

最新更新