亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#使用隊列(Queue)解決簡單的并發問題

2020-01-24 01:35:44
字體:
來源:轉載
供稿:網友

本文通過實例,更具體的講解了隊列,隊列(Queue)代表了一個先進先出的對象集合。當您需要對各項進行先進先出的訪問時,則使用隊列。當您在列表中添加一項,稱為入隊,當您從列表中移除一項時,稱為出隊。

有一個場景:一個搶購的項目,假設有5件商品,誰先搶到誰可以買,但是如果此時此刻(這里的此時此刻假設是相同的時間),有100人去搶這個商品,如果使用平時的方法會出現什么情況呢?你懂的,這里所說是就是有關并發的問題。

平時我們去超市購物去結賬的時候就是排隊,這里我們先讓搶購人排好隊,按時間,誰先點擊的搶購按鈕誰就排在前面,這樣就形成了一個隊列,然后我們再對這個隊列處理,這樣就不會出現并發的問題了。(至少可以處理這樣簡單的并發,這里不討論太復雜的并發)

案例:

要求:有一個發布文章的接口,每發布一篇文章,調用一下接口。(這里不用批量發布,為了講解這個)

建立一個這樣的處理程序類,BusinessInfoHelper.cs

 

namespace MyNameSpace   {   //隊列臨時類   public class QueueInfo   {     public string medias { get; set; }     public string proids { get; set; }     public string host { get; set; }     public string userid { get; set; }     public string feedid { get; set; }   }    public class BusinessInfoHelper   {     #region 解決發布時含有優質媒體時,前臺頁面卡住的現象     //原理:利用生產者消費者模式進行入列出列操作      public readonly static BusinessInfoHelper Instance = new BusinessInfoHelper();     private BusinessInfoHelper()     { }      private Queue<QueueInfo> ListQueue = new Queue<QueueInfo>();      public void AddQueue(string medias, string proids, string host, string userid, string feedid) //入列     {       QueueInfo queueinfo = new QueueInfo();        queueinfo.medias = medias;       queueinfo.proids = proids;       queueinfo.host = host;       queueinfo.userid = userid;       queueinfo.feedid = feedid;       ListQueue.Enqueue(queueinfo);     }      public void Start()//啟動     {       Thread thread = new Thread(threadStart);       thread.IsBackground = true;       thread.Start();     }      private void threadStart()     {       while (true)       {         if (ListQueue.Count > 0)         {           try           {             ScanQueue();           }           catch (Exception ex)           {             LO_LogInfo.WLlog(ex.ToString());           }         }         else         {           //沒有任務,休息3秒鐘           Thread.Sleep(3000);         }       }     }      //要執行的方法     private void ScanQueue()     {       while (ListQueue.Count > 0)       {         try         {           //從隊列中取出           QueueInfo queueinfo = ListQueue.Dequeue();            //取出的queueinfo就可以用了,里面有你要的東西           //以下就是處理程序了           //。。。。。。          }         catch (Exception ex)         {           throw;         }       }     }       #endregion   } }  

以上頁面寫好后,在程序開始運行時就得啟動這個線程去不停的處理任務,那么我們在Global的Application_Start里可以這樣寫:

//啟動發布優質媒體程序 
MyNameSpace.BusinessInfoHelper.Instance.Start(); 

有一個問題出來了,如果我處理完隊列中的一條記錄后,想返回這條記錄的ID,這個程序好像不能完成,我就使用了另一個方法 Lock方法 ,把方法鎖定,具體的如下,

在頁面中定義全局的鎖:

private static object lockObject= new Object(); 
 
在方法中這樣調用:

lock(lockObject) 
 

 
//........ 
 

以上是本文的全部內容,希望對大家進一步學習隊列有所幫助

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美极品美女视频网站在线观看免费| 有码中文亚洲精品| 国产精品69久久| 亚洲影院污污.| 欧美日韩精品国产| 91成人性视频| 欧美精品videosex牲欧美| 欧美日韩在线另类| 欧美洲成人男女午夜视频| 亚洲偷欧美偷国内偷| 日本久久久久亚洲中字幕| 日韩精品久久久久久久玫瑰园| 欧美国产日韩二区| 欧美一级大片在线观看| 国产精品自产拍在线观看| 欧美性xxxxxx| 亚洲成人免费在线视频| 国产成人精品日本亚洲专区61| 国产一区二区精品丝袜| 在线国产精品播放| 色综合五月天导航| 国产精品久久久久久五月尺| 亚洲色无码播放| 亚洲国产女人aaa毛片在线| 国产美女搞久久| 成人国产精品久久久| 57pao成人国产永久免费| 亚洲欧美日韩一区二区在线| 在线观看国产成人av片| 美日韩精品免费视频| 欧美在线视频网站| 成人欧美一区二区三区在线湿哒哒| 国产成人鲁鲁免费视频a| 欧美日韩在线视频一区| 91色精品视频在线| 日韩精品在线观看一区二区| 亚州欧美日韩中文视频| 亚洲va男人天堂| 午夜精品蜜臀一区二区三区免费| 欧美成人精品影院| 久久久精品一区二区三区| 91在线视频免费| 亚洲成人免费在线视频| 欧美在线播放视频| 欧美一区二区三区免费视| 91精品国产综合久久久久久久久| 91精品国产高清自在线看超| 大胆人体色综合| 欧美精品在线观看91| 日韩毛片在线观看| 国产精品自产拍在线观| 91精品视频在线看| 久久久久久久色| 欧美又大粗又爽又黄大片视频| 日本久久精品视频| 欧美诱惑福利视频| 日韩欧美高清在线视频| 欲色天天网综合久久| 久久综合五月天| 国产一区深夜福利| 亚洲欧美福利视频| 91精品国产自产在线| 久久久精品一区二区| 亚洲va欧美va国产综合剧情| 久久精品国产亚洲精品2020| 亚洲精品一区二区三区婷婷月| 欧美极品美女视频网站在线观看免费| 久久99精品久久久久久琪琪| 久久大大胆人体| 国产精品男女猛烈高潮激情| 88xx成人精品| 亚洲a级在线播放观看| 色婷婷久久一区二区| 深夜成人在线观看| 国产精品视频专区| 成人黄色片在线| 亚洲新中文字幕| 欧美夜福利tv在线| 久久久天堂国产精品女人| 国产va免费精品高清在线| 不卡中文字幕av| 亚洲免费av电影| 日韩亚洲精品电影| 亚洲激情视频在线| 欧美中文字幕在线观看| 久久99热这里只有精品国产| 国产一区二区久久精品| 国产在线观看精品一区二区三区| 亚洲午夜小视频| 久久久久久久久久久国产| 亚洲xxxx在线| 国产精品九九久久久久久久| 2018中文字幕一区二区三区| 成人激情视频小说免费下载| 亚洲美女av电影| 中文字幕日韩视频| 亚洲精品视频网上网址在线观看| 一区二区三区四区精品| 日本a级片电影一区二区| 最近的2019中文字幕免费一页| 国产精品久久久久久久av电影| 色哟哟亚洲精品一区二区| 亚洲成人av在线| 国产精品99久久久久久白浆小说| 欧美理论电影在线观看| 97在线视频一区| 国产成人91久久精品| 在线播放亚洲激情| 中文字幕亚洲一区二区三区| 九九热精品视频在线播放| 4438全国亚洲精品在线观看视频| 欧美日韩在线免费观看| 精品视频在线导航| 久久av资源网站| 亚洲自拍偷拍福利| 国产精品吊钟奶在线| 精品福利樱桃av导航| 日韩精品极品视频| 91国产美女在线观看| 亚洲成人精品在线| 久久97久久97精品免视看| 91高清视频在线免费观看| 国产亚洲欧洲在线| 欧美午夜女人视频在线| 91精品国产高清久久久久久91| 黄色一区二区三区| 欧美日韩中国免费专区在线看| 91在线视频精品| 热久久免费视频精品| 91免费国产视频| 欧美网站在线观看| 久久视频精品在线| 亚洲毛茸茸少妇高潮呻吟| 欧美一区二粉嫩精品国产一线天| 综合久久五月天| 狠狠躁夜夜躁人人爽天天天天97| 欧美一级淫片aaaaaaa视频| 国产主播欧美精品| 夜夜狂射影院欧美极品| 欧美日韩国产一区二区| 国产69精品久久久久9999| 欧美日韩福利电影| 中文字幕亚洲一区二区三区五十路| 国产一区二区三区在线视频| 亚洲欧洲在线看| 91wwwcom在线观看| 亚洲欧洲国产一区| 欧美大肥婆大肥bbbbb| 欧美老女人性视频| 国产精品高潮呻吟久久av野狼| 亚洲国产高清自拍| 欧美另类极品videosbest最新版本| 97在线视频一区| 欧美高清视频免费观看| 国产精品电影一区| 精品久久久久久中文字幕| 8090理伦午夜在线电影| 精品国产依人香蕉在线精品| 亚洲无限av看| 日韩视频一区在线| 国产精品视频免费在线| 亚洲国产成人精品久久久国产成人一区| 91影视免费在线观看| 亚洲一二三在线|