最近遇到數(shù)據(jù)量比較大并且更新速度很快的情況,這樣導致兩臺服務(wù)器同步稍有延遲的情況出現(xiàn),同時負載升高。如果使用sleep 每10秒 休眠1秒的做法是否能緩解數(shù)據(jù)庫的壓力呢?我很想知道sleep是否會占用很多資源,sleep執(zhí)行的時候都做了些什么事呢?但是有人說單線程休眠時間越長占用資源就越多,是這樣嗎?
2 回答

泛舟湖上清波郎朗
TA貢獻1818條經(jīng)驗 獲得超3個贊
sleep不占用系統(tǒng)資源,它會把cpu的控制權(quán)交換給內(nèi)核,內(nèi)核會再schedule到另一個進程。
這種簡單的事情,你寫個while (true) sleep(1)的程序然后top一下就能判斷的。

拉風的咖菲貓
TA貢獻1995條經(jīng)驗 獲得超2個贊
之前也用php寫過后臺方面的程序,主進程需要等待所有子進程結(jié)束后再退出,之前采取的“忙等”,發(fā)現(xiàn)主進程將CPU占完了,后來主進程在等待循環(huán)中采用了sleep(1)的方式,大大減少了cpu開銷,所以我認為sleep應該不會占用太多CPU。
- 2 回答
- 0 關(guān)注
- 165 瀏覽
添加回答
舉報
0/150
提交
取消