Time_Nanosleep သည် PHP 5.0.0 တွင်မိတ်ဆက်ပေးသော function တစ်ခုဖြစ်ပြီးပရိုဂရမ်ကိုသတ်မှတ်ထားသောစက္ကန့်ပိုင်းနှင့် nanosecond Times များကိုခေတ္တရပ်ဆိုင်းခြင်းပြုလုပ်ရန်ဖြစ်သည်။ ပရိုဂရမ်သည်ခေတ္တရပ်တန့်ရန်အချိန်ကိုခေတ္တ ရပ်တန့ ်ရန်အချိန်ပိုမိုများပြားလာရန်အချိန်ကိုပိုမိုသန့်ရှင်းစင် ကြယ်ခြင်း ထက်ပိုမိုသန့်စင်ခြင်းများပြုလုပ်ရန်ခွင့်ပြုသည်။
function ရှေ့ပြေးပုံစံ:
bool time_nanosleep(int $seconds, int $nanoseconds)
$ စက္ကန့် - စက္ကန့်အရေအတွက်ကြာချိန်,
$ nanoseconds - 0 မှ 999,999999 အထိအထိ nanoseconds အရေအတွက်ကိုဆိုင်းငံ့ထားသည်။
Return Value သည် Boolean တန်ဖိုးဖြစ်ပြီးအောင်မြင်စွာ ပြန်လည်ရောက်ရှိ သည်။ အကယ်. ခေတ္တနားခြင်းအားဖြင့်ခေတ္တရပ်တန့်သွားပါက Return Array တွင်ကျန်စက္ကန့်များနှင့် nanoseconds များပါ 0 င်သည်။
ဤတွင်အခြေခံဥပမာတစ်ခုမှာ 1 စက္ကန့်နှင့် 500 မီလီစက္ကန့်ကိုခေတ္တရပ်နားသည် (i.E. 1.5 စက္ကန့်)
<?php
$seconds = 1;
$nanoseconds = 500000000; // 500 မီလီစက္ကန့် = 500,000,000 nonoseconds
if (time_nanosleep($seconds, $nanoseconds)) {
echo "ဖြည့်စွက်ရန်ခေတ္တရပ်နားပါ\n";
} else {
echo "ခေတ္တရပ်တန့်\n";
}
?>
ကျွန်ုပ်တို့သည်အချိန်ကိုက်ပြီးသောအချိန်ကိုအကောင်အထည်ဖော်ရန်, 0.1 စက္ကန့်တိုင်းကိုလုပ်ဆောင်ရန်နှင့် 1 စက္ကန့်အတွက်စဉ်ဆက်မပြတ်လုပ်ဆောင်ခြင်းဖြစ်သည်ဆိုပါစို့။
<?php
$intervalSeconds = 0;
$intervalNanoseconds = 100000000; // 0.1 စက်ဏန့် = 100,000,000 nonoseconds
$iterations = 10;
for ($i = 0; $i < $iterations; $i++) {
// တာဝန်များကိုလုပ်ဆောင်
echo "ကွပ်မျက် " . ($i + 1) . " အချိန်မစ်ရှင်,အချိန်:" . microtime(true) . "\n";
// အိပ်နေခြင်း指定အချိန်
time_nanosleep($intervalSeconds, $intervalNanoseconds);
}
?>
လုပ်ငန်းတစ်ခုစီ၏ကွပ်မျက်မှုကြားကာလသည် 0.1 စက္ကန့်နှင့်နီးသည်ကိုသင်တွေ့လိမ့်မည် ။
အကယ်. Time_Nanosleep သည်အိပ်နေစဉ် signal ကိုအချက်ပြခြင်းဖြင့်ကြားဖြတ်လျှင်ကျန်ရှိနေသေးသောစက္ကန့်များနှင့် nanoseconds ကိုယ်စားပြုသည်။ ကျနော်တို့အခြေအနေကိုဖမ်းယူနိုင်ပြီးကျန်ရှိနေသေးသောအိပ်ပျော်နေသောအဖွဲ။
နမူနာကုဒ်:
<?php
function safe_nanosleep(int $sec, int $nsec): void {
while (true) {
$result = time_nanosleep($sec, $nsec);
if ($result === true) {
// hibernation ပြည့်စုံသည်
break;
} elseif (is_array($result)) {
// အိပ်စက်ခြင်းပြတ်တောက်,继续剩余အချိန်
$sec = $result['seconds'];
$nsec = $result['nanoseconds'];
} else {
// အမည်မသိအမှားတစ်ခုဖြစ်ပွားခဲ့သည်
break;
}
}
}
safe_nanosleep(0, 200000000); // အိပ်နေခြင်း 200 မီလီစက္ကန့်
echo "安全hibernation ပြည့်စုံသည်\n";
?>
သင်၏ပရိုဂရမ်သည်ပြင်ပ API ကိုကြည့်ရှုခြင်းဆိုပါစို့။
$url = "https://api.example.com/data";
သင်၏လိုအပ်ချက်များအရ, သင်သည် Gitbox.net နှင့် Domain Name ကိုအစားထိုးလိုပါက၎င်းကိုသင်ဤကဲ့သို့သောရေးနိုင်သည်။
<?php
$url = "https://api.example.com/data";
$parsed = parse_url($url);
$newUrl = $parsed['scheme'] . '://' . 'gitbox.net' . $parsed['path'];
echo $newUrl; // ထုတ်လုပ်ခြင်း https://gitbox.net/data
?>
Time_Nanosleep သည် အိပ်စက်ခြင်း နှင့် USLEEP ထက် ပို. ကောင်းသည်။
အချိန်ကောင်းလုပ်ငန်းများ, မြန်ဆန်သောကန့်သတ်ချက်များ,
အလုပ်ကိုစောစောအဆုံးသတ်ခြင်းကိုရှောင်ရှားရန် signal ကြားဖြတ်ခြင်းကိုင်တွယ်ခြင်းကိုဂရုပြုပါ။
URL processing ပါ 0 င်ပါက Parse_Url function ကို သုံး. အထူးလိုအပ်ချက်များနှင့်ကိုက်ညီရန်ဒိုမိန်းအမည်ကိုအစားထိုးရန် Parse_Url function ကိုသုံးနိုင်သည်။
Time_nanosleep နှင့်အတူသင်သည် PHP အစီအစဉ်များ၏ကွပ်မျက်မှုစည်းချက်ကိုပိုမိုတိကျစွာထိန်းချုပ်နိုင်ပြီးအချိန်ကာလ၏တိကျသောနှင့်တည်ငြိမ်မှုကိုတိုးတက်စေနိုင်သည်။