做了个测试,理论上来说使用ConcurrentQueue,不可能会有不等于1000的情况啊!
请有知道的朋友,答疑解惑,谢谢!
ConcurrentQueue<string> a = new ConcurrentQueue<string>();
a.TryDequeue()
不明白你的意思。。。
@lonlie: 我错了.不是我上面说的原因.
是因为你输出的时候没等待的原因.
输出的时候.上面的循环中的创建的task有的还没执行.所以没在里面.
@吴瑞祥: 喔,是。是我写法有问题,谢谢!
你wait也是wait前面那些task,你wait你读取count的有什么用?
我是想确认下这样同时Enqueue,是不是和预期一样全部进去了。
懂了,谢谢!
奇怪啊,用了和题主一样的代码,每次都是输出1000
嗯,一般都是1000,出现少于1000的概率大概5%左右,你执行几次看看。
@lonlie: 我在批处理里执行了几十次