【c言語】sleep関数で処理を一時停止する方法

  • URLをコピーしました!

今回は処理を一時停止する方法として、sleep関数を紹介します。

sleep関数は、処理タイミングをずらしたときなど、実務でも非常に多く使用する関数です。

本記事を読んで、ぜひ理解していただければと思います!

スクロールできます
目的講座名到達点レベル/前提想定時間こんな人に評価
まずはC/C++を一気に俯瞰一週間で身につくC/C++言語C/C++の基礎を通しで学び、ゲーム/組み込み/OS基礎にも触れる初心者〜初級13時間C/C++をまとめて体験したい/ポインタでつまずいた経験がある
図解で“ゼロから”C言語イメージでわかる!基礎知識ゼロからのC言語。エンジニアが教えるC言語完全攻略コース。図解中心で基礎→配列/構造体/ポインタまで。終盤はネットワーク等の応用も超初心者〜初級7時間活字が苦手/イメージで理解したい/まずはCだけに集中したい
図解+演習で基礎を速習【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関数を使用して、処理を一時停止できました。

これまで読んでくださりありがとうございます。

参考(おすすめ教材)

一週間で身につくC/C++言語
楽天ブックス
¥2,728 (2025/10/27 11:46時点 | 楽天市場調べ)
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

エンジニア。20代。組み込みエンジニアとして働き始めるも、働き方や業務内容に限界を感じ、 AI,Web3エンジニアを目指して勉強中。 エンジニアとして思うことや、学んだことを発信します。

目次