Time_Nanosleep သည် PHP 5.0.0 ဗားရှင်းတွင်ထည့်သွင်းထားသော function အသစ်တစ်ခုဖြစ်သည်။ function ကိုလက်မှတ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
bool time_nanosleep ( int $seconds , int $nanoseconds )
$ စက္ကန့် - Integer စက္ကန့်
$ nanoseconds : 0 နှင့် 999999999 အကြား nanoseconds: nanoseconds
ခေါ်ဆိုမှုအောင်မြင်သောအခါ, ပရိုဂရမ်သည်သက်ဆိုင်ရာအချိန်ကိုခေတ္တရပ်တန့်ပြီး စစ်မှန်သော ပြန်လာလိမ့်မည်။ အကယ်. အချက်ပြခြင်းဖြင့်ကြားဖြတ်လျှင်ကျန်ရှိနေသေးသောစက္ကန့်များနှင့် nanoseconds အပါအ 0 င်ခင်းကျင်းမှုကိုပြန်လည်ပေးပို့လိမ့်မည်။
အိပ်စက်ခြင်း နှင့် USLEEP နှင့်နှိုင်းယှဉ်လျှင် Time_Nanosleep သည် ပိုမိုကောင်းမွန်သောတိကျမှုလိုအပ်သည့်အခြေအနေများအတွက်အထူးသင့်တော်သောသန့်စင်သောအချိန်ကာလကိုထောက်ခံသည်။
စိတ်ဖိစီးမှုစမ်းသပ်ခြင်းတွင်ဘုံလိုအပ်ချက်သည် 10 မီလီစက္ကန့်တိုင်းတိုင်းတောင်းဆိုမှုကိုစတင်ခြင်းကဲ့သို့သောသတ်သတ်မှတ်မှတ်ကြိမ်နှုန်းဖြင့်ပေးပို့သည့်တောင်းဆိုမှုများကိုတုန့်ပြန်ရန်တောင်းဆိုခြင်းဖြစ်သည်။ အကယ်. ရိုးရာ အိပ်စက်ခြင်း (0) သို့မဟုတ် USEEP (10000) ကို အသုံးပြုပါကတိကျမှန်ကန်မှုနှင့်တည်ငြိမ်မှုသည်အထူးသဖြင့်မြင့်မားသောဝန်စနစ်များအောက်တွင်လိုအပ်ချက်များနှင့်ကိုက်ညီမှုမရှိခဲ့ပါ။ Time_Nanosleep သည် ဒုတိယနှင့် nanosecond granularity ကိုထိန်းချုပ်ခြင်းအားဖြင့်ဤအချိန်ကိုတိကျစွာအောင်မြင်နိုင်သည်။
Time_Nanosleep ကို အသုံးပြု. Time_Nanosleep ကိုထိန်းချုပ်ရန်အတွက်ရိုးရှင်းသောဥပမာတစ်ခုမှာ Millace 50 တိုင်းကို 50 မီလီစက္ကူတိုင်းဟုခေါ်သည်။
<?php
// စမ်းသပ်ခံရဖို့ interface ကိုURL,ဒိုမိန်းအမည်ကိုအစားထိုးပါ gitbox.net
$url = "https://api.gitbox.net/test-endpoint";
// Simulated စိတ်ဖိစီးမှုစမ်းသပ်မှု,တောင်းဆိုမှုများကိုကွင်းဆက်တစ်ခုတွင်ပို့ပါ
for ($i = 0; $i < 100; $i++) {
$start = microtime(true);
// ဖြစ်ပေါ်လာခြင်းcURLမေးမြန်း
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "မေးမြန်း {$i} ပြန်လာ:" . substr($response, 0, 50) . "\n";
// ဒီသံသရာအတွက်ယူအချိန်တွက်ချက်(စက်ဏန့်)
$elapsed = microtime(true) - $start;
// ပစ်မှတ်ကြားကာလ:50毫စက်ဏန့် = 0.05စက်ဏန့်
$intervalSec = 0;
$intervalNano = 50000000; // 50,000,000纳စက်ဏန့်
// ကျန်ရှိနေသောအချိန်ကျန်ရှိနေသောအချိန် = ပစ်မှတ်ကြားကာလ - အချိန်ကုန်လွန်
$remaining = 0.05 - $elapsed;
if ($remaining > 0) {
// 拆分为စက်ဏန့်和纳စက်ဏန့်
$sec = floor($remaining);
$nano = ($remaining - $sec) * 1e9;
// တယ်လီဖုန်းဆက်ခြင်း time_nanosleep အိပ်စက်ခြင်းအိပ်စက်ခြင်း
time_nanosleep($sec, (int)$nano);
}
}
တောင်းဆိုမှုတစ်ခုစီ၏ကွပ်မျက်မှုအချိန်ကိုတွက်ချက်ရန် Microtime (Trust) ကို သုံးပါ။ စုစုပေါင်းကြားကာလသည် 50 မီလီစက္ကန်ဖြစ်သည်။
Fixed အိပ်စက်ခြင်းကြောင့်ဖြစ်ပေါ်လာသောတဖြည်းဖြည်းတိုးပွားလာသောအမှားများကိုရှောင်ကြဉ်ရန် Time_Nanosleep မှတစ်ဆင့်ကျန်ရှိနေသေးသောအချိန်ကိုစောင့်ပါ။
အစားထိုး interface domain name သည် gitbox.net ဖြစ်ပြီးသင်၏လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးသည်။
စနစ်အချိန်ဇယားဆွဲကန့်သတ်
Time_Nanosleep တိကျမှန်ကန်မှုသည် operating system ၏အချိန်ဇယားဆွဲနိုင်သည့်စွမ်းရည်များပေါ်တွင်မူတည်သည်။
signal interrupt processing <br> <br> time_nanosleep အချက်ပြမှုကအချိန်ကုန်ဆုံးသောအခါကျန်ရှိသောအချိန်ခင်းကျင်းမှုကိုပြန်ပို့လိမ့်မည်။ သက်ဆိုင်ရာခြွင်းချက်ကိုရိုက်ကူးရန်နှင့်ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင်ပြန်လည်ကြိုးစားရန်အကြံပြုသည်။
တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုထိန်းချုပ်ခြင်း <br> <br> ပိုမိုကြီးမားသောစိတ်ဖိစီးမှုစမ်းသပ်မှုများပြုလုပ်နိုင်ရန်အတွက်တစ်ကိုယ်ရေချည်ထားသောကွင်းဆက်များသည်ထိရောက်စွာကန့်သတ်ထားနိုင်သည်။
စွမ်းဆောင်ရည်စောင့်ကြည့်လေ့လာခြင်း <br> <br> စမ်းသပ်မှုကာလအတွင်း time_nanosleep မှအဓိကအားဖြင့်ထိန်းချုပ်ထားရန်ကွန်ယက်နှောင့်နှေးမှုနှင့်ဆာဗာတုန့်ပြန်အချိန်ကိုစောင့်ကြည့်သည်။
php ၏ Time_Nanosleep ကို nanoseconds တွင်တိကျသောကြားကာလထိန်းချုပ်မှုရရှိရန်အတွက် PHP ၏ Time_Nanosleep ကိုသုံးပါ။ အချိန်တွက်ချက်ခြင်းနှင့်ပူးပေါင်းဆောင်ရွက်ရန်ဤလုပ်ဆောင်မှုကိုအကျိုးသင့်အကြောင်းသင့်ရှိရှိအသုံးပြုခြင်းသည်မြန်မြန်ဆန်ဆန်နှေးကွေးသောတောင်းဆိုမှုများကြောင့်ဖြစ်ပေါ်လာသောစစ်ဆေးမှုကိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးစနစ်စွမ်းဆောင်ရည်အကဲဖြတ်မှုအတွက်ယုံကြည်စိတ်ချရသောအချက်အလက်များကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။
အထက်ပါနမူနာကုဒ်မှတဆင့်အခြေခံစိတ်ဖိစီးမှုစစ်ဆေးမှုများ scripts များကိုလျင်မြန်စွာတည်ဆောက်နိုင်ပြီးလိုအပ်သည့်အချိန် parameters တွေကိုအလွယ်တကူညှိနိုင်ပြီးပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်မှုအကြိမ်ရေကိုချိန်ညှိနိုင်ပြီး interface စွမ်းဆောင်ရည်ကိုအကောင်းဆုံးအထောက်အကူပြုသည်။