【C言語】sleep関数の使い方|ミリ秒単位の待機・usleepとの違い

広告この記事には広告・アフィリエイトリンクが含まれる場合があります。
目次
今回は処理を一時停止する方法として、sleep関数を紹介します。
sleep関数は、処理タイミングをずらしたときなど、実務でも非常に多く使用する関数です。
本記事を読んで、ぜひ理解していただければと思います!
目的 | 講座名 | 到達点 | レベル/前提 | 想定時間 | こんな人に | 評価 |
|---|---|---|---|---|---|---|
まずはC/C++を一気に俯瞰 | C/C++の基礎を通しで学び、ゲーム/組み込み/OS基礎にも触れる | 初心者〜初級 | 13時間 | C/C++をまとめて体験したい/ポインタでつまずいた経験がある | | |
図解で“ゼロから”C言語 | 図解中心で基礎→配列/構造体/ポインタまで。終盤はネットワーク等の応用も | 超初心者〜初級 | 7時間 | 活字が苦手/イメージで理解したい/まずはCだけに集中したい | | |
図解+演習で基礎を速習 | “動きの理解”重視でゼロ→ポインタまで。演習問題で定着 | 超初心者〜初級 | 16時間 | 図解多め+演習で短期に基礎固めしたい | |
sleep関数
処理を一時停止するには、
Unixの標準ライブラリのsleep関数を使用します。
インクルード方法とsleep関数は以下です。
#include <unistd.h>
unsigned int sleep(unsigned int seconds);sleep関数の引数は1秒単位で指定します。
sleep関数を使用したコード
実際にsleep関数をして処理を一時停止させたコードは以下です。
#include <unistd.h>
#include <stdio.h>
int main(){
sleep(1);
printf("1 秒スリープしました。\n");
return 0;
}実行結果は以下です。
1 秒スリープしました。1秒処理を停止しました
usleep関数
1秒より短い時間を一時停止したい場合は、usleep関数を使用します。
usleep関数の内容は以下です。
unsigned int usleep(unsigned int seconds);u sleep関数の引数は、マイクロ秒単位で指定します。
usleep関数を使用したコード
実際にusleep関数を使用して、1秒処理を一時停止させたコードは以下です。
#include <unistd.h>
#include <stdio.h>
int main(){
usleep(1 * 1000 * 1000);
printf("1 秒スリープしました。\n");
return 0;
}実行結果は以下です。
1 秒スリープしました。sleep関数を使用したときと同様な結果になりました。
まとめ
UNIXの標準ライブラリのsleep関数、u sleep関数を使用して、処理を一時停止できました。
これまで読んでくださりありがとうございます。




コメント
コメントはまだありません