【c#】队列(Queue)和MSMQ(消息队列)的基础使用

 

 1  public class QueueTest  2     {  3         public static Queue<string> q = new Queue<string>();  4  5         #region 获取队列数量 6         public int GetCount()  7         {  8  9             return q.Count; 10         } 11         #endregion12 13         #region 队列添加数据14         public void IntoData(string qStr) 15         { 16             string threadId = System.Threading.Thread.CurrentThread.ManagedThreadId.ToString(); 17             q.Enqueue(qStr); 18             Console.WriteLine($"队列添加数据: {qStr};当前线程id:{threadId}"); 19         } 20         #endregion21 22         #region 队列输出数据23 24         public string OutData() 25         { 26             string threadId = System.Threading.Thread.CurrentThread.ManagedThreadId.ToString(); 27             string str = q.Dequeue(); 28             Console.WriteLine($"队列输出数据: {str};当前线程id:{threadId}"); 29             return str; 30         } 31         #endregion32 33     }
复制代码

为了模拟并发情况下也不会出现重复读取和插入混乱的问题所以写了TaskTest类里面开辟了两个异步线程进行插入和读取:

复制代码
 1     class TaskTest  2     {  3  4         #region 队列的操作模拟
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信