亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

winows服務的問題-cpu100%

winows服務的問題-cpu100%

C#
精慕HU 2018-12-25 15:12:31
<P>&gt;Function:有一個windows服務,從消息隊列里獲得消息,并處理<BR>&gt;Code</P> <P>while(true)<BR>{<BR>&nbsp;//process data<BR>}<BR>&gt;Question<BR>1:盡可能早地process data<BR>2:因為while(true)&nbsp;&nbsp; [現在服務器cpu100%]</P> <P>現在如果不while(true)數據就不能盡可能早地處理。</P> <P>如果while(true),cpu100%</P> <P>請大家指教指教!</P>
查看完整描述

2 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

while(true){ //process data. //線程休眠5個毫秒,盡可能早的處理是否可以容忍5ms的延誤,如果可以就這么做 Thread.Sleep(5); //如果不可以,Sleep(0)讓出cpu的執行權,如果有別的進程等待使用cpu則其他進程可以獲得cpu Thread.Sleep(0); }

查看完整回答
反對 回復 2018-12-29
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

可以用上面各位的輪詢方式檢查消息隊列,也可以用信號方式等待消息隊列。 及 while 循環中等待一個信號量,當消息隊列中有消息時,由消息隊列的管理線程設置這個信號量,while循環得到這個信號量后往下執行。

查看完整回答
反對 回復 2018-12-29
  • 2 回答
  • 0 關注
  • 504 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號