int main(){
char ch;
fork();
cin >> c;
}
Run Code Online (Sandbox Code Playgroud)
在调用fork()之后,我应该有2个运行相同代码的确切进程.为什么在运行这个简单的例子之后,我被要求只输入一次字符,要么两次?我运行这个程序时,系统不应该期望每次输入2个输入吗?
>./a.out
a
>./a.out
a
b
>
Run Code Online (Sandbox Code Playgroud)
您有两个进程同时从终端读取.任何人都猜测哪个进程得到了输入.
如果您有两个进程从同一终端读取,则不应期望一致的行为.