但实际上是这样的,可能你连续跑它个100次,里面只有十几次是倒过来的,而其余都是输出正常的。
而且每一回头一次运行顺序肯定是正确的。
你想想看一个父进程创建了一个子进程,一般都是子进程会立刻先执行,然后才是父进程。不信你可以试试的:)
int main()
{
if(fork() == 0 || sleep(1))
{
printf("Hello ");
}
else
{
printf("World !!!");
}
这样就万无一失了吧?(sleep函数返回值为0)
你想想看一个父进程创建了一个子进程,一般都是子进程会立刻先执行,然后才是父进程。不信你可以试试的:)
int main()
{
if(fork() == 0 || sleep(1))
{
printf("Hello ");
}
else
{
printf("World !!!");
}