PHP တွင်မဲရုံစနစ်ကိုအကောင်အထည်ဖော်သည့်အခါအသုံးများသောနှောင့်နှေးမှုများကို အသုံးပြု. အိပ်စက်ခြင်း () သို့မဟုတ် USEEP () ဖြစ်သည်။ သို့သော်ဤနှစ်ခုသည်တိကျမှန်ကန်မှုနှင့်တည်ငြိမ်မှုတွင်အထူးသဖြင့်မြင့်မားသောကြိမ်နှုန်းနှင့်ရေငုပ်ခြင်းအခြေအနေများတွင်အကန့်အသတ်ရှိသည်။ ဤဆောင်းပါးသည် Php Betture function time_nanosleep () ကိုပိုမိုတည်ငြိမ်ပြီးတိကျသောမဲရုံစနစ်ရရှိရန်မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးမည်။
PHP 5.0.0 ပြီးနောက် Time_Nanosleep () သည် function အသစ်တစ်ခုဖြစ်သည်။ developer များသည် အိပ်စက်ခြင်း (စက္ကန့် (စက္ကန့်) နှင့် USEEP (MicroSeconds) ထက်ပိုမိုမြင့်မားသောတိကျမှန်ကန်မှုကို nanoseconds များနှောင့်နှေးစေနိုင်သည်။ ၎င်း၏လက်မှတ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
bool time_nanosleep(int $seconds, int $nanoseconds)
$ စက္ကန့် စက္ကန့်၏နံပါတ်ကိုကိုယ်စားပြုပြီးအနုတ်လက်ခဏာမဟုတ်သောကိန်းဖြစ်ရမည်
$ nanoseconds သည် 0 မှ 999,999999999999999999999999999999999999999999999999999 မှ TANOSESECONSTS ကိုကိုယ်စားပြုသည်
USEEEP () time_nanosleep နှင့်နှိုင်းယှဉ်ပါကပိုမိုမြင့်မားသောအချိန်တိကျမှန်ကန်မှုကိုထောက်ပံ့ပေးပြီးကွဲပြားခြားနားသော operating system များတွင်ပိုမိုကျွမ်းကျင်စွာလုပ်ဆောင်သည်။
အောက်ဖော်ပြပါစဉ်က 0 န်းကျင် 100 မီလီစက္ကန့်များ (I.E..1 စက္ကန့်စက္ကန့်) ကိုတည်ငြိမ်စေရန် (I.E..1 စက္ကန့်စက္ကန့်) ကိုရရှိရန်အတွက်အောက်ပါတို့သည်ရိုးရိုးရွှေ့ကြေးကိုပြသသည်။
<?php
while (true) {
// မဲရုံတောင်းဆိုမှုများကိုတုပ
$response = file_get_contents("https://gitbox.net/api/check_status");
// ထုတ်ယူခြင်းအချက်အလက်များကိုထုတ်ယူခြင်း
echo "မဲရုံများ:" . $response . PHP_EOL;
// stated စောင့်ဆိုင်း100မီလီစက္ကန့်(0စက်ဏန့် + 100,000,000纳စက်ဏန့်)
time_nanosleep(0, 100000000);
}
?>
ဤဥပမာတွင်မဲရုံ 0 င်မှုသည်တစ်စက္ကန့်လျှင်ရွေးကောက်ပွဲ 10 ခုအထိဖြစ်သည်။ time_nanosleep () , နှောင့်နှေးအချိန်ကပိုမိုတိကျသည်, ရိုးရာ USEEP () သည် မြင့်မားသောဝန်များ၌ဖြစ်ပေါ်နိုင်သည့်အချိန်ကိုရှောင်ရှားရန်အချိန်နှောင့်နှေးအချိန်က ပို. တိကျသည်။
Time_Nanosleep () သည်ပြတ်တောက်သည့်အခါ မှားယွင်းစွာ တုံ့ပြန်မည်ဖြစ်ပြီးကျန်ရှိနေသေးသောနှောင့်နှေးမှုများကို Time_Nanosleep () မှတစ်ဆင့်ရရှိသောအချိန်ကိုရရှိနိုင်လိမ့်မည်။ မဲရုံတည်ငြိမ်မှုကိုသေချာစေရန်အောက်ပါတိုးတက်မှုများကိုပြုလုပ်နိုင်သည်။
<?php
function stableSleep(int $seconds, int $nanoseconds) {
while (true) {
$result = time_nanosleep($seconds, $nanoseconds);
if ($result === true) {
break;
}
// ကျန်အချိန်များအတွက်အိပ်ပါ
$seconds = $result['seconds'];
$nanoseconds = $result['nanoseconds'];
}
}
while (true) {
$response = file_get_contents("https://gitbox.net/api/check_status");
echo "မဲရုံများ:" . $response . PHP_EOL;
stableSleep(0, 100000000); // 100ms
}
?>
ဤအချက်သည်စနစ်အချက်ပြမှုကြောင့်နှောင့်နှေးမှုနှောင့်နှေးမှုကိုနှောင့်နှေးနေသည့်အချိန်တွင်အစီအစဉ်သည်ကျန်ရှိနေသေးသောစောင့်ဆိုင်းချိန်ကိုဆက်လက်ဖြည့်စွက်နိုင်သည်။
Time_Nanosleep () သည် တိကျသောနှောင့်နှေးမှုများကိုအာမခံချက်ပေးသော်လည်းမဲရုံတောင်းဆိုမှုများတွင်ကွန်ယက်တောင်းဆိုမှုများတွင်ပါ 0 င်ပါကမဲဆန္ဒရှင်များအနေဖြင့်အကန့်အသတ်ရှိနေသေးသည်။ Folloindchronous တောင်းဆိုမှုသို့မဟုတ် Multimchreading (ဥပမာ Curl_multi_ * or or or or or or or or or or oreverse extensions များဖြင့်အသုံးပြုခြင်း) ဖြင့်မဲရုံများကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်အကြံပြုသည်။
TIME_NANOSESEEP () သည် pull-pull-pullings လိုအပ်ချက်များကိုသင့်တော်သော nanosecond-level တိကျသော Precision နှောင့်နှေးမှုကိုပေးသည်
မဲရုံတည်ငြိမ်မှုကိုသေချာစေရန် System Signal Interrupts ကိုလုပ်ဆောင်ရန် Return Value နှင့်ပေါင်းစပ်ထားသည်
ကွန်ယက်တောင်းဆိုမှုနှောင့်နှေးမှုရှည်လျားသောအခါ၎င်းကို asynchronous သို့မဟုတ် multi-threaded ယန္တရားများနှင့်ပေါင်းစပ်။ အသုံးပြုရန်အကြံပြုသည်
ဆင်ခြင်တုံတရား ကို အသုံးပြု. PHP Pransper စနစ်၏တည်ငြိမ်မှုနှင့်တိကျမှုသည်သိသိသာသာတိုးတက်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။