ここでは簡単なことをしていると思っていたのですが、C は私を非同期にすることにしました。何が起こっているのかわかりません。これが私のコードです:
#include <stdio.h>
int main() {
printf("start");
sleep(5);
printf("stop");
}
sleep(5)
コンパイルして実行すると、それが魅力のように機能することに気付きます。printf()
しかし、コンパイラは、最初をスキップして順不同にするのが良い考えであると判断したため、実行時にプログラムは 5 秒間待機してから を出力しstartstop
ます。
どうしたんだ?私の理論では、プログラムはシェルで印刷操作を開始してからプログラムを続行し、プログラムが実際に文字列をレンダリングするためにビジーでなくなるまで Bash を待機させるというものです。しかし、私は本当に知りません。
ありがとう