怎么理解C#中Queue的线程安全问题

技术怎么理解C#中Queue的线程安全问题怎么理解C#中Queue的线程安全问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。通过集合枚举在

如何理解C#中Queue的线程安全问题,很多新手都不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

通过集合枚举本质上不是线程安全的过程。即使集合是同步的,其他线程仍然可以修改集合,这将导致枚举数引发异常。为了确保枚举过程中的线程安全,您可以在整个枚举过程中锁定集合,或者捕获由其他线程所做的更改导致的异常。

以下示例显示了如何同步队列、如何确定队列是否同步以及如何使用同步队列。第3D单元教程手册

使用系统;

使用System。收藏品;

publicclassSamplesQueue {

publicationstativonmain(){ 0

//createsandinitializanewqueue。

sp;  
  Queue myQ = new Queue();
                                                           
  myQ.Enqueue( “The” );
                                                           
  myQ.Enqueue( “quick” );
                                                           
  myQ.Enqueue( “brown” );
                                                           
  myQ.Enqueue( “fox” );
                                                           
  // Creates a synchronized wrapper around the Queue.
                                                           
  Queue mySyncdQ = Queue.Synchronized( myQ );
                                                           
  // Displays the sychronization status of both Queues.
                                                           
  Console.WriteLine( “myQ is {0}.”, myQ.IsSynchronized ? “synchronized” : “not synchronized” );
                                                           
  Console.WriteLine( “mySyncdQ is {0}.”, mySyncdQ.IsSynchronized ? “synchronized” : “not synchronized” );
                                                           
  }
                                                           
  }

通过对比运行结果,可以明显的看出通过Queue.Synchronized方法包装的Queue被同步,没有包装的则没有被同步。可以在实例化处这样声明,

 // Creates a synchronized wrapper around the Queue.
                                                   
  Queue mySyncdQ = Queue.Synchronized( new Queue());

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/81841.html

(0)

相关推荐

  • 高铁一等座和二等座的区别,一等座二等座是高铁还是火车

    技术高铁一等座和二等座的区别,一等座二等座是高铁还是火车高铁一等座和二等座的区别主要是在舒适性、设备配置方面,还有票价方面不同高铁一等座和二等座的区别。1、一等座和二等座首先是坐席不同,高铁一等座四个人一排,每座下面都有

    生活 2021年10月29日
  • 南瓜发糕的做法松软又好吃,怎么蒸发糕好吃,又发又软呢

    技术南瓜发糕的做法松软又好吃,怎么蒸发糕好吃,又发又软呢我是吃货小筑,一枚专注于烘焙的美食博主,这是我在悟空问答的第573个原创回答,愿与大家一起用心探讨美食和烘焙南瓜发糕的做法松软又好吃!发糕要口感好,又发又软是有技巧

    生活 2021年10月29日
  • mysql常用的查询语句(mysql用来分析查询的语句)

    技术MySQL中常用的查询子句有哪些这篇文章给大家分享的是有关MySQL中常用的查询子句有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。对于数据分析,MySQL多采用查询,如数据的排序、分

    攻略 2021年12月20日
  • shampoo是什么意思中文翻译,硫磺皂的翻译是:什么意思

    技术shampoo是什么意思中文翻译,硫磺皂的翻译是:什么意思sulfur soap硫磺皂、硫化皂例句shampoo是什么意思中文翻译:1. Wash the hair with shampoo or sulfur so

    生活 2021年10月29日
  • mysql table_open_cache 到底有什么影响

    技术mysql table_open_cache 到底有什么影响mysql table_open_cache 到底有什么影响,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴

    攻略 2021年11月4日
  • 抖音刷真人点赞,免费刷抖音赞?

    技术抖音刷真人点赞,免费刷抖音赞?抖音作品要吸引更多的人,抖音视频内容首先要吸引抖音用户关注。在抖音话题榜热搜榜上会出现很多热度非常高的作品,这种类型的作品自带热搜体质,点赞自然就多。其次,我们可以在抖音刷赞买赞网站上买

    测评 2021年10月26日