a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#利用System.Threading.Thread.Sleep即時輸出信息的詳解

2020-01-24 03:14:57
字體:
來源:轉載
供稿:網友
有個網站需要生成靜態頁。
據以往經驗,凡比較爛的空間,短時間內運行耗能大的運算,都會出現“service unavailable”,以致網頁無法正常打開。
生成靜態頁,需要在短時間內讀取大量的數據并保存為html頁,好一些的空間運行起來沒問題,就怕那些垃圾空間……
生成的時候,需要即時輸出信息通知客戶。

根據經驗思考后,有兩種方法可行:
1、每次只執行生成一個html頁,然后輸出信息給客戶看,如“已生成首頁,正在生成新聞頁,請稍候..”,然后在輸出的代碼里放置上js代碼,js代碼可以隔2秒后再次刷新生成頁,從而執行下一個html頁的生成……直至完畢。

這個算法比較復雜,因為要生成的頁面并不是統一類型的,比如有的是首頁,有的是新聞頁,有的是留言頁……以及,要一次一次的記錄生成到哪一步,所牽涉到的問題不少。
2、使用System.Threading.Thread.Sleep如果在掛起,間斷性的生成html頁,不造成短時間內耗能太大。但如果線程掛起的時候,仍然在消耗資源,則本方法不可用。

經過測試,System.Threading.Thread.Sleep掛起的時候,并不耗cpu和內存。可使用方法2生成html代碼。并且不需要其它 任何設置,for循環1000次,System.Threading.Thread.Sleep設置為2秒,不會超時,也就是循環1000次,每次循環之 間暫停2秒鐘,執行完需要:2*1000秒,不會超時。
簡要程序代碼:
復制代碼 代碼如下:

//先通知客戶,正在生成
Response.Write("正在生成文件,請稍候...");
Response.Flush();
//通過for循環生成各html頁,此處僅為示例
for (int i = 0; i <= 1000; i++)
{
   //生成html代碼略
   //通知
   Response.Write("XXX頁生成成功,請等待下一頁面生成...");
   Response.Flush();

   //掛起2秒,2秒后進行下一個循環,以生成下一頁
   System.Threading.Thread.Sleep(2 * 1000);
}
Response.Write("所有頁面生成完畢");

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩欧美中文在线观看 | 欧美国产精品一区二区 | 国产福利精品在线 | 成人av自拍| 亚洲国产精品免费 | 亚洲免费成人 | 欧美午夜视频 | 久草免费在线视频 | 久草资源视频 | 欧美香蕉| 91国内精品| 国产伦精品一区二区三区在线 | 亚洲视频中文字幕 | 中文字字幕在线观看 | 91免费视频观看 | 狠狠躁日日躁夜夜躁影院 | 久久韩剧| 91av原创| 黄色毛片在线观看 | 精品视频久久 | 亚洲成人第一区 | 久久av一区二区三区亚洲 | 欧美视频在线一区 | 亚洲国产成人在线视频 | 亚洲国产精品一区二区第一页 | 狠狠色综合欧美激情 | 久久人人爽人人爽 | 国产精品久久久久久久岛一牛影视 | 国产欧美精品一区二区 | wwwxxxx日本| 欧美视频三区 | 日韩av一区二区三区在线 | 九色一区 | 亚洲欧美在线免费 | 亚洲综合一区二区三区 | 亚洲影视一区 | 又大又粗又长又黄视频 | 玖玖玖视频| 久久久久久久久99精品 | 伊人网视频在线观看 | 亚洲精品久久久久久一区二区 |