当前位置: 首页 > 编程语言 > C#

队列管理和新线程分享

时间:2023-04-10 15:50:46 C#

队列管理和新线程在.Net4.0框架上使用C#,我有一个WindowsForms主线程(唯一一个)等待文件系统事件然后必须响应这些事件提供的文件启动一些预定义的处理。我打算做以下事情:因为我以前没有编程过线程(我基本上使用Albahari作为我的指南针)但我绝对想要,我有几个问题只是为了预先发现可能的头痛:如果你的目标是.NetFramework4,那么BlockingCollection听起来可以解决您的问题;即当“工作”项目在队列中可用时创建(当添加新文件时添加到事件处理程序的队列中)并在该线程上异步处理它们新的线程池池线程。可以在生产者/消费者队列中使用:例如:以上就是《C#学习教程:队列管理与新线程》分享的全部内容。如果对大家有用,需要了解更多C#学习教程,希望大家多多分享关注—//////Producer/consumerqueue。当任务需要执行时使用,它被排入队列以确保顺序,///允许调用者继续处理其他事情。可以定义消费者的数量,///每个消费者在一个线程池任务线程上运行。///改编自:http://www.albahari.com/threading/part5.aspx#_BlockingCollectionT///publicclassProducerConsumerQueue:IDisposable{privateBlockingCollection_taskQ=newBlockingCollection();publicProducerConsumerQueue(intworkerCount){//为每个消费者创建并启动一个单独的Task:for(inti=0;i本文摘自网络,不代表立场,如涉及侵权,请点击有权联系管理员删除,如需转载请注明出处: