我写了一个简单的fork()
示例,如下所示:
#include <sys/types.h>
void main()
{
printf("Stack overflow\n");
pid_t p = fork();
if ( p )
printf("I am parent\n");
else
printf("I am child\n");
return 0;
}
理想情况下,“堆栈溢出”应该只打印一次,但在我的结尾处,字符串打印两次。我无法理解。有人可以帮忙吗?
答案 0 :(得分:1)
这是一个冲动的问题:你的程序运行得很好,但第一个fork
的输出只在fflush(stdout);
发生后才移交给标准输出。
尝试
LayoutInflater.from(context)
分叉之前它解决了这个问题。