ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
機会が来ることを待つこと。
通常のアプリケーションを作成するためのライブラリ関数である。
POSIX.1-2001では、次が定義されている。
unistd.h
#include <unistd.h> unsigned int sleep(unsigned int seconds); int usleep(useconds_t usec);
time.h
#include <time.h> int nanosleep(const struct timespec *req, struct timespec *rem);
カーネルでは、一般のライブラリ関数とは異なるものが使われている。Linuxカーネルの場合は、次の通り。
delay関数はビジーウェイトであり、内部ではループ処理等で処理時間を稼いでいる。
linux/delay.h
void mdelay( unsigned long msecs ) ; void udelay( unsigned long usecs ) ; void ndelay( unsigned long nsecs ) ;
sleep関数は、ウェイト中に、CPUを他のスレッドに対してスケジューリングする。
通常はSIGALRMなどのシグナルを用いて実装されており、時間が経過してシグナルが発生すると、元の処理に戻るようになっている。
linux/delay.h
void ssleep( unsigned int seconds ); void msleep( unsigned int msecs ) ; unsigned long msleep_interruptible( unsigned int msecs ) ;
コメントなどを投稿するフォームは、日本語対応時のみ表示されます