第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

PHP while true 循環(huán),sleep() 函數(shù)最短時(shí)間

PHP while true 循環(huán),sleep() 函數(shù)最短時(shí)間

PHP
茅侃侃 2022-07-09 16:47:46
我有一個(gè)php函數(shù)<?phpwhile(true){   sleep(2);   echo 1;}?>請問:是kill server嗎?
查看完整描述

1 回答

?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

這個(gè)問題有兩種可能的答案...

第一的

如果你的意思是一個(gè)進(jìn)程本身會占用服務(wù)器資源,那么答案是否定的,因?yàn)?a >sleep系統(tǒng)調(diào)用 [1](在 linux 實(shí)現(xiàn)上)會從 CPU 中刪除進(jìn)程并僅在系統(tǒng)中斷后恢復(fù)它超時(shí)時(shí)間已過時(shí)由調(diào)度程序觸發(fā)。因此,只要它處于睡眠狀態(tài),該進(jìn)程實(shí)際上就不再消耗 CPU 周期(即不使用服務(wù)器資源)。在 CLI SAPI 中,這在某些情況下可能很好,甚至是可取的,因?yàn)槟ǔ?梢酝耆刂坪螘r(shí)可以運(yùn)行此腳本以及一次運(yùn)行多少個(gè)腳本。

第二

但是,如果您處于面向 Web 的環(huán)境中(即這個(gè) php 腳本是通過對您的 Web 服務(wù)器的 HTTP 請求啟動的),那么您必須考慮這樣一個(gè)事實(shí),即您可以使用的 Web 工作者數(shù)量是有限的。如果請求發(fā)起 30 次,而您只有 30 個(gè)工作人員可用,那么您現(xiàn)在所有工作人員都被無限捆綁,用戶無法再向您的 Web 服務(wù)器發(fā)出任何請求。所以從這個(gè)意義上說,您實(shí)際上已經(jīng)使服務(wù)器資源緊張

while(true)所以每當(dāng)你有一個(gè)循環(huán)時(shí)要非常小心。問問自己,這真的有必要嗎?大多數(shù)時(shí)候不是。

注意

順便說一句,同樣重要的是要了解在外部流中花費(fèi)的時(shí)間(其中包括睡眠)不計(jì)入您的max_execution_time. 因此,睡眠中花費(fèi)的 2 秒不算在內(nèi),但每次進(jìn)程再次喚醒時(shí),該時(shí)間都會累加。所以是的,max_execution_time如果您希望進(jìn)程在該循環(huán)內(nèi)繼續(xù)無限運(yùn)行,則設(shè)置為 0 很重要。在 CLI 解釋器中,默認(rèn)值為 0,但在大多數(shù) Web SAPI 中,它的默認(rèn)值為 30 秒,因?yàn)槟ǔ2幌M魏蚊嫦?Web 的請求占用您的工作人員那么長時(shí)間。

[1] http://man7.org/linux/man-pages/man3/sleep.3.html


查看完整回答
反對 回復(fù) 2022-07-09
  • 1 回答
  • 0 關(guān)注
  • 223 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號