读书人

C#多个线程访问一个队列有关问题请大

发布时间: 2012-05-04 12:36:09 作者: rapoo

C#多个线程访问一个队列问题,请大侠们帮帮忙
现有一个队列,一个线程向里面写,一个线程往外取,还可能有一个线程检查队列中的项是否过期,请问应该怎么设计保证线程同步,以及访问的安全问题

[解决办法]
典型的P-V(生产者消费者)问题。Google下“C# 生产者消费者”
[解决办法]
这个的确典型,
你可以看下clr via c# 第二版 中文版
神作,特别是线程部分讲的特别好
虽然旧了点,但是免费的

资料分割成2部分,
都下载过来再解压即可
框架设计 CLR Via C#.part1.rar
http://ishare.iask.sina.com.cn/f/16962600.html?retcode=0框架设计 CLR Via C#.part2.rar
http://ishare.iask.sina.com.cn/f/16962601.html?from=like
[解决办法]
排他锁
不明白

[解决办法]
加队列,出队列锁一下就可以了, 检查的时候,不用加锁。
[解决办法]
选择一个好的数据结构很重要啊,可以用.net 4.0里的ConcurrentQueue<T>
[解决办法]
防止读的时候被其他线程改了 那你读的就是过时的

探讨
为什么生产者-消费者问题中读取也需要锁对象喃

[解决办法]
参考 C#生产者和消费者
http://kb.cnblogs.com/page/42530/

读书人网 >C#

热点推荐