ビジーウェイト
ビジーウェイト(英: busy waiting)とは、プロセスが条件が成り立つかどうかを定期的にチェックする手法の一種。例えば、キーボードからの入力を待ったり、ロックが獲得できるのを待ったりするのに使われる。ある時間だけ遅延させて何かを実行するのに使うこともある。
上記のコードの中で、2番目のスレッドは直ちに60秒間スリープする。その間、最初のスレッドは、2番目のスレッドがフラグの値を変更したかどうかを繰り返しチェックする。
UNIX系オペレーティングシステムでは、top や uptime といったユーティリティを使用してこのプログラムのCPU利用状況を知ることができる。プログラムを以下のように実行する:
もちろん、システムによって表示される値は微妙に異なるだろう。しかし重要な点はプログラム実行前にロードアベレージ(システム負荷平均値)が 0.00 だった点である。プログラムを実行すると最近一分間のロードアベレージは 0.75 までに達した。(訳注:ロードアベレージの計算方法は様々だが、少なくとも 1.00 になるとプロセッサ1個が100%動作していることを示す。)