nanosleep (time_nanosleep)
گاهی می خواهیم تأخیر نانوثانیه ای بدهیم. تابع (Function) time_nanosleep دقیقا همین کار را می کند. ثانیه و نانوثانیه را جدا می گیرد. مثل تایمر دقیق در بازی.
تعریف و کاربرد ساده
این تابع اجرای اسکریپت را برای تعداد «ثانیه (Seconds)» و «نانوثانیه (Nanoseconds)» متوقف می کند. سپس اگر موفق باشد، مقدار true برمی گرداند. اما اگر با سیگنال قطع شود، آرایه باقی مانده را می دهد.
مثال: تأخیر نانوثانیه ای دقیق
<?php
if (time_nanosleep(2, 500000000) === true) {
echo "Slept for 2,5 seconds";
}
?>
قوانین ورودی و بازگشت
نانوثانیه باید کمتر از 1٬000٬000٬000 باشد. سپس روی موفقیت true می گیری. اما اگر قطع شود، آرایه زمانِ باقی مانده برمی گردد.
گام های عملی
- ثانیه و نانوثانیه هدف را مشخص کن.
- تابع را صدا بزن و نتیجه را بررسی کن.
- در صورت موفقیت پیام مناسب چاپ کن.
نکته: تأخیر نانوثانیه ای برای ریت لیمیت دقیق مفید است.
هشدار: نسخه های قبل از PHP 5.3 روی ویندوز مشکل داشتند. نسخه محیط را بررسی کن.
جمع بندی سریع
- تأخیر دقیق با ثانیه و نانوثانیه.
- نانوثانیه باید کمتر از یک میلیارد باشد.
- موفقیت:
true؛ قطع: آرایه باقی مانده. - برای تایمرهای خیلی دقیق عالی است.