0 က်ဘ်ဆိုက်စွမ်းဆောင်ရည်စစ်ဆေးခြင်းသို့မဟုတ်အသုံးပြုသူအပြုအမူဆိုင်ရာခြင်း simulation များကိုလုပ်ဆောင်သောအခါတောင်းဆိုမှုများအကြားအချိန်ကြားကာလကိုစနစ်တကျထိန်းချုပ်ထားသည့်အခါစမ်းသပ်မှုသည်အစစ်အမှန်ဇာတ်လမ်းနှင့်နီးကပ်ရန်သေချာစေရန်သော့ချက်ဖြစ်သည်။ Web Development တွင်အသုံးပြုသောဘာသာစကားတစ်ခုအနေဖြင့် PHP သည်အထူးတိကျသော အချိန်ကာလ အတွက်အထူးဒီဇိုင်းပြုလုပ်ထားသောကိရိယာတစ်ခုမဟုတ်ပါ။ ဤဆောင်းပါးသည်ဤလုပ်ငန်းကိုမည်သို့အသုံးပြုရမည်ကိုလေ့လာလိမ့်မည်။
Time_Nanosleep () PHP မှ PUP-PUTRIE ကွပ်မျက်မှုရပ်ဆိုင်းထားသည်။ developer များက "စက္ကူ + nanoseconds" (စက္ကန့်ပိုင်းအတွင်း) သို့မဟုတ် USEEP (MicroSeconds) (MicroSeconds) နှင့်နှိုင်းယှဉ်လျှင် "စက္ကူ + nanoseconds" တွင်ခေတ္တပြောင်းလွယ်ပြင်လွယ်များကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိစေရန်ခွင့်ပြုသည်။
function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
bool time_nanosleep(int $seconds, int $nanoseconds)
parameter သည်ဖော်ပြချက်:
$ စက္ကန့် - ခေတ္တရပ်ရန်စက္ကန့်အရေအတွက်။
$ nanoseconds : ခေတ္တရပ်တန့်ရန် Nanoseconds အရေအတွက် (0 မှ 9999999999) ။
ပုံမှန်ပြီးစီးမှုနှောင့်နှေးမှုကိုညွှန်ပြရန်ဤလုပ်ဆောင်ချက်သည် မှန်ကန်သည် ။ အကယ်. အလယ်၌အချက်ပြမှုဖြင့်ကြားဖြတ်ခြင်းကကျန်ရှိသောအချိန်ပါ 0 င်သောခင်းကျင်းမှုကိုပြန်လည်ပေးလိမ့်မည်။
0 က်ဘ်စာမျက်နှာများကိုကြည့်ရှုခြင်းကဲ့သို့သောအသုံးပြုသူများ၏အပြုအမူများကိုတွန်းအားပေးသည့်အခါ link များသို့မဟုတ် scrolling လုပ်ခြင်းကိုနှိပ်ခြင်း, အသုံးပြုသူစစ်ဆင်ရေးများသည်မီလီစက္ကန့်အနည်းငယ်မျှသာသို့မဟုတ်မီလီစက္ကန့်အနည်းငယ်မျှသာဖြစ်နိုင်သည်။ time_nanosleep () , ဤအချိန်ကိုကြားကာလပိုမိုဂရုတစိုက်ထိန်းချုပ်နိုင်သည်။
0 က်ဘ်ဆိုက် 150 ကိုမီလီစက္ကန့်တိုင်းတွင် 0 က်ဘ်ဆိုက် 150 တိုင်းတွင် 0 က်ဘ်ဆိုက်ကိုလာရောက်လည်ပတ်သောအသုံးပြုသူတစ် ဦး ၏အခြားစာမျက်နှာတစ်ခုကိုတုပရန်လိုသည်ဆိုပါစို့။ အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
$pages = [
'https://gitbox.net/page1',
'https://gitbox.net/page2',
'https://gitbox.net/page3',
];
foreach ($pages as $page) {
$ch = curl_init($page);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "စာမျက်နှာသို့သွားရောက်ပါ: $page\n";
// ခေတ္တရပ်ဆိုင်းခြင်း 0.15 စက်ဏန့်(အခုချက်ချင်း 150 毫စက်ဏန့်)
time_nanosleep(0, 150 * 1000000);
}
ဤနေရာတွင် Curl သည် တောင်းဆိုမှုစာမျက်နှာ၏အကြောင်းအရာများကိုထည့်သွင်းပြီးတောင်းဆိုမှုတစ်ခုစီ၏တောင်းဆိုမှုတစ်ခုစီပြီးနောက် 150 မီလီစက္ကန့်များကိုပြုလုပ်ပြီးလုပ်ငန်းစဉ်တစ်ခုလုံးကိုလူ့သဘာဝကလစ်နှိပ်ခြင်းအပြုအမူနှင့်ကိုက်ညီသည်။
လက်လှမ်းမီမှုအကြိမ်ရေသည်မကြာခဏမမှန်တတ်သည်။ ကွဲပြားခြားနားသောစိတ်ကူးများကိုအကောင်အထည်ဖော်ရန် Rand () function ကိုပေါင်းစပ်ပြီး Time_Nanosleep () ကိုသုံးနိုင်သည်။
$urls = [
'https://gitbox.net/article/101',
'https://gitbox.net/article/102',
'https://gitbox.net/article/103',
];
foreach ($urls as $url) {
echo "simulated access ကို: $url\n";
// တောင်းဆိုမှုကိုပို့ပါ
file_get_contents($url);
// 随机ခေတ္တရပ်ဆိုင်းခြင်း 100 ရောက်လာ 500 毫စက်ဏန့်之间
$milliseconds = rand(100, 500);
time_nanosleep(0, $milliseconds * 1000000);
}
ဤနည်းအားဖြင့် Simulation program သည်ထိန်းချုပ်မှုကြားကာလများကိုသာပေးနိုင်ရုံသာမကလက်လှမ်းမီမှုလျော့နည်းလာခြင်းနှင့်သုံးစွဲသူကိုကြည့်ရှုခြင်းနှင့်ပိုမိုနီးကပ်စွာဖြစ်လိမ့်မည်။
သဟဇာတ - Time_Nanosleep () PHP 5 ကတည်းကမိတ်ဆက်ခဲ့သည်။ PHP ၏အဟောင်းဗားရှင်းများတွင်အသုံးပြုပါကအမှားတစ်ခုဖြစ်နိုင်သည်။
စွမ်းဆောင်ရည်အကျိုးသက်ရောက်မှု - ဤလုပ်ဆောင်မှုသည် nonosecond control ကိုအောင်မြင်နိုင်သော်လည်း PHP ကိုယ်တိုင်သည် System clock ၏တိကျမှန်ကန်မှုကိုကန့်သတ်ထားသည်။
signal interrupt processing : time_nanosleep () signal ကိုအနှောင့်အယှက်ပေးလျှင်,
စွမ်းဆောင်ရည်နှင့်အလိုအလျောက်စစ်ဆေးခြင်းများတွင်တောင်းဆိုမှုများအကြားအချိန်နှောင့်နှေးမှုများကိုတိကျသောထိန်းချုပ်မှုသည်အစစ်အမှန်အသုံးပြုသူအပြုအမူကိုတုပရန်မရှိမဖြစ်လိုအပ်သည်။ PHP ၏ Time_Nanosleep () သည် developer များကိုမီလီမီတာမီလီမီတာနှင့်ပိုမိုကောင်းမွန်သောအချိန်ထိန်းချုပ်မှုများပြုလုပ်နိုင်ရန်ကူညီရန်အတိုချုပ်နှင့်ထိရောက်သောနည်းလမ်းတစ်ခုကိုပေးသည်။ curl , file_get_contontents () နှင့်ကျပန်းကြားကာလဆိုင်ရာယုတ္တိဗေဒကိုပေါင်းစပ်ပြီး 0 က်ဘ်ဆိုက်တည်ငြိမ်မှုနှင့်တုန့်ပြန်မှုစွမ်းဆောင်ရည်အတွက်အားကောင်းသောအာမခံချက်ပေးရန်ပိုမိုလက်တွေ့ကျပြီးထိရောက်သောအသုံးပြုသူအပြုအမူစနစ်ကိုတည်ဆောက်နိုင်သည်။