time_nanosleep

(PHP 5, PHP 7, PHP 8)

time_nanosleep秒およびナノ秒単位で実行を遅延する

説明

time_nanosleep(int$seconds, int$nanoseconds): array|bool

指定した seconds および nanoseconds の時間だけプログラムの実行を遅延させます。

パラメータ

seconds

非負の整数である必要があります。

nanoseconds

十億よりも小さい非負の整数である必要があります。

注意: Windows では、与えられたナノ秒以上に長くスリープする可能性があります。 動作はハードウェア依存です。

戻り値

成功した場合に true を、失敗した場合に false を返します。

シグナルによって遅延処理が中断された場合、以下の要素からなる連想配列を返します。

  • seconds - 残りの秒数
  • nanoseconds - 残りのナノ秒数

例1 time_nanosleep() の例

<?php
// 注意! もし配列が返された場合、これはうまく動作しません
if (time_nanosleep(0, 500000000)) {
echo
"0.5 秒遅延しました。\n";
}

// こちらのほうがよいでしょう
if (time_nanosleep(0, 500000000) === true) {
echo
"0.5 秒遅延しました。\n";
}

// そしてこれが最良の方法です
$nano = time_nanosleep(2, 100000);

if (
$nano === true) {
echo
"2 秒と 100 マイクロ秒だけ遅延しました。\n";
} elseif (
$nano === false) {
echo
"遅延に失敗しました。\n";
} elseif (
is_array($nano)) {
$seconds = $nano['seconds'];
$nanoseconds = $nano['nanoseconds'];
echo
"シグナルによって中断しました。\n";
echo
"残りの秒数は $seconds 秒と $nanoseconds ナノ秒です。";
}
?>

参考

To Top