--keyrecord/keyplay real-time application を作ってみよう。「キーボードの入力を 時間を含めて忠実に再現する プログラムを作れ」 ダメな例 NONBLOCKING モードを使ったread fcntl で設定する 良い例 select を使った例を考える サンプルコードを見てみよう select を使わない例を考える ioctl でreadが一文字で戻って来るようにする man termios 時間をμsec 単位で測るには? int gettimeofday(struct timeval *tp, struct timezone *tzp); を使う。 時間は、usleep で稼ぐ。 void usleep(unsigned int microseconds); 間違っても100万回ループしたりしない。 keyrecord のサンプルコード Option Java の場合は、java.nio の Selector と Channel Stream を使います。