PHP တွင် Time_Nanosleep function ကိုပရိုဂရမ်ကိုသတ်မှတ်ထားသောစက္ကန့်ပိုင်း စီမံကိန်း နှင့် nanoseconds များကိုခေတ္တရပ်တန့်ရန်အသုံးပြုသည် ။ သို့သော်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်မှုကိုအောင်မြင်စွာလုပ်ဆောင်နိုင်ပြီးအောင်မြင်စွာမည်သို့ကိုင်တွယ်ဖြေရှင်းရမည်ကိုကျွန်ုပ်တို့မကြာခဏဆုံးဖြတ်ရန်လိုအပ်သည်။
ဤဆောင်းပါးသည် Time_Nanosleep function ၏ကွပ်မျက်မှုရလဒ်ကိုစီရင်ဆုံးဖြတ်ရန်နှင့်ပိုမိုသင့်လျော်သောပျက်ကွက်မှုများကိုကိုင်တွယ်ဖြေရှင်းရန်နည်းလမ်းကိုအသေးစိတ်ရှင်းပြပါမည်။
bool|array time_nanosleep(int $seconds, int $nanoseconds)
$ စက္ကန့် - စက္ကန့်အရေအတွက်ကြာချိန်,
$ nanoseconds : nanoseconds ဆိုင်းငံ့ထားခြင်း, ကိန်းဂဏန်းများ, ကိန်းဂဏန်းများသည် 0 ~ 999999999 ဖြစ်သည်။
Value ကိုပြန်သွားပါ
အောင်မြင်မှုအပေါ် စစ်မှန်တဲ့ ပြန်လာ။
signal မှကြားဖြတ်လျှင်ကျန်စက္ကန့်များနှင့် nanoseconds ပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်ပို့ပါ။
Time_Nanosleep ၏ပြန်လည်နေရာချထားမှုအတွက်ဖြစ်နိုင်ခြေနှစ်ခုရှိသည်။
Relect Real : Sleep အချိန်ကုန်ပြီးစီးခြင်းသည်ပုံမှန်အားဖြင့်အဆုံးသတ်သွားသည်ဟုဆိုလိုသည်။
Report Array : Siemental သည် signal ကိုကြားဖြတ်နှောင့်ယှက်နေသည်ကိုဆိုလိုသည်။ Array တွင် 'စက္ကန့်' နှင့် 'nanoseconds' သော့များပါ 0 င်ပြီးကျန်ရှိသောကျန်ရှိသောအချိန်ကိုညွှန်ပြသည်။
ထို့ကြောင့်, တရားစီရင်ချက်ကိုအောက်ပါအတိုင်းဖြစ်သည် -
$result = time_nanosleep(2, 500000000); // အိပ်နေခြင်း2.5စက်ဏန့်
if ($result === true) {
echo "အိပ်နေခြင်း成功完成\n";
} elseif (is_array($result)) {
echo "အိပ်နေခြင်းsignal အားဖြင့်ကြားဖြတ်,剩余စက်ဏန့်数:" . $result['seconds'] . ",剩余纳စက်ဏန့်数:" . $result['nanoseconds'] . "\n";
} else {
echo "အမည်မသိအမှား\n";
}
အိပ်စက်ခြင်းပြတ်တောက်သွားသောအခါ developer များသည်များသောအားဖြင့် Time_NanOSlePe ကို များသောအားဖြင့်ကျန်ရှိနေသေးသောအချိန်ကိုဆက်လက်အိပ်စက်ခြင်းအားဆက်လက်အိပ်စက်ရန်ခွင့်ပြုရန်ရွေးချယ်ကြသည်။
နမူနာကုဒ်:
function safe_nanosleep(int $seconds, int $nanoseconds): void {
while (true) {
$result = time_nanosleep($seconds, $nanoseconds);
if ($result === true) {
// အိပ်နေခြင်း完成,ကွင်းဆက်မှထွက်ပါ
break;
} elseif (is_array($result)) {
// signal အားဖြင့်ကြားဖြတ်,继续အိပ်နေခြင်း剩余时间
$seconds = $result['seconds'];
$nanoseconds = $result['nanoseconds'];
} else {
// အခြားပုံမှန်မဟုတ်သောအခြေအနေများ,ခြွင်းချက်များသို့မဟုတ်သစ်ထုတ်လုပ်ခြင်းကိုပစ်ချနိုင်သည်
throw new RuntimeException('time_nanosleepExecution မအောင်မြင်ပါ');
}
}
}
try {
safe_nanosleep(1, 0);
echo "安全အိပ်နေခြင်း完成\n";
} catch (RuntimeException $e) {
echo "အမှား:" . $e->getMessage() . "\n";
}
Time_Nanosleyp သည်အောင်မြင်စွာကွပ်မျက်ခံရပြီး မှန်ကန်သော ပြန်လာပြီးကျန်သောအချိန်ခင်းကျင်းမှုကိုပြန်ပို့ရန် (အချက်ပြခြင်းဖြင့်ကြားဖြတ်ခြင်း) ပျက်ကွက်သည်။
Return Value အမျိုးအစားကိုအကဲဖြတ်ခြင်းအားဖြင့်သင်သည် function ကိုအောင်မြင်မှုရှိမရှိရှင်းလင်းနိုင်သည်။
ပြတ်တောက်မှုများကိုကြုံတွေ့ရသောအခါကွင်းဆက် recursive အိပ်စက်ခြင်းကိုအသုံးပြုခြင်းသည်၎င်းကိုကိုင်တွယ်ရန်သာမန်နည်းလမ်းဖြစ်သည်။
ပရိုဂရမ်၏တည်ငြိမ်သောလည်ပတ်မှုကိုသေချာစေရန်ချွင်းချက်များသို့မဟုတ်အမှားများကိုသင့်လျော်စွာဖမ်းယူပါ။
Reference စာရွက်စာတမ်းများကိုလက်လှမ်းမီနိုင်သည်။
https://gitbox.net/unet/enual/en/function.time.nanosleep.php