日期:2014-05-18  浏览次数:20847 次

Queue<T> 发神经了!!!!高手快进!!!标题要长长长长长长长长长长长
我有一个类,是用来缓存网络发送的数据包,这个类里面我用到了 Queue<T>,T 为数据包(ABUSPacket),UI线程添加(Enqueue),然后由一个Timer隔一段时间发一个(Dequeue),但是没有任何东西发出去
断点看到,添加时有数据包,添加一次Count就加一(如:有8个),这个没错。但是到了Timer事件处理时,Queue.Count竟然等于0,再添加时,断点一看,8个,我擦勒,肿么回事啊???

------解决方案--------------------
考虑变量的生存期,和所属对象

------解决方案--------------------
探讨
生存期绝对没有错 声明与new都在方法外面

------解决方案--------------------


既然拿来做缓存 那你这种字段能保证缓存的生存周期么