Linuxカーネルのsleep関数の使い方
linuxカーネルには、ユーザー空間のsleep()関数に相当するものはありません。しかし、カーネルでは、実行を遅延させるため関数を用意しており、それらの機能を使ってsleep()に相当する機能を実現できます。
- ミリ秒で遅延
#include <linux/delay.h>
// 延迟500毫秒
mdelay(500);
- スリープ
#include <linux/delay.h>
// 延迟1秒
msleep(1000);
- usleep_range()のネイティブな日本語訳
#include <linux/delay.h>
// 延迟100~200毫秒
usleep_range(100000, 200000);
カーネルコードでのにのみ使用可能であり、ユーザー空間では使用できないことに注意してください。ユーザー空間では、遅延には sleep() 関数を使用できます。