最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2013年06月05日 14:49:24   作者:  
本篇文章是對C#利用System.Threading.Thread.Sleep即時輸出信息進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
有個網(wǎng)站需要生成靜態(tài)頁。
據(jù)以往經(jīng)驗,凡比較爛的空間,短時間內(nèi)運行耗能大的運算,都會出現(xiàn)“service unavailable”,以致網(wǎng)頁無法正常打開。
生成靜態(tài)頁,需要在短時間內(nèi)讀取大量的數(shù)據(jù)并保存為html頁,好一些的空間運行起來沒問題,就怕那些垃圾空間……
生成的時候,需要即時輸出信息通知客戶。

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

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

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

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

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

相關(guān)文章

最新評論

鞍山市| 米林县| 新乐市| 北川| 崇明县| 获嘉县| 宝鸡市| 禄劝| 阿瓦提县| 开鲁县| 苗栗市| 抚宁县| 五台县| 辽中县| 班玛县| 荆州市| 黎川县| 工布江达县| 平谷区| 天峻县| 香港 | 无锡市| 罗甸县| 普定县| 江西省| 金沙县| 米泉市| 开鲁县| 潞西市| 盐亭县| 武山县| 永福县| 淳化县| 洱源县| 永川市| 江永县| 正安县| 偃师市| 宜章县| 宜都市| 阿坝|