首页 新闻 会员 周边 捐助

ConcurrentQueue,什么情况?

0
悬赏园豆:10 [已解决问题] 解决于 2017-04-17 15:19

做了个测试,理论上来说使用ConcurrentQueue,不可能会有不等于1000的情况啊!

请有知道的朋友,答疑解惑,谢谢!

lonlie的主页 lonlie | 初学一级 | 园豆:135
提问于:2017-04-17 13:51
< >
分享
最佳答案
0

ConcurrentQueue<string> a = new ConcurrentQueue<string>();
a.TryDequeue()

收获园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2017-04-17 14:05

不明白你的意思。。。

lonlie | 园豆:135 (初学一级) | 2017-04-17 14:20

@lonlie: 我错了.不是我上面说的原因.

是因为你输出的时候没等待的原因.

输出的时候.上面的循环中的创建的task有的还没执行.所以没在里面.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-04-17 14:50

@吴瑞祥: 喔,是。是我写法有问题,谢谢!

lonlie | 园豆:135 (初学一级) | 2017-04-17 15:18
其他回答(2)
0

你wait也是wait前面那些task,你wait你读取count的有什么用?

收获园豆:5
Daniel Cai | 园豆:10424 (专家六级) | 2017-04-17 14:13

我是想确认下这样同时Enqueue,是不是和预期一样全部进去了。 

支持(0) 反对(0) lonlie | 园豆:135 (初学一级) | 2017-04-17 14:22

懂了,谢谢! 

支持(0) 反对(0) lonlie | 园豆:135 (初学一级) | 2017-04-17 15:19
0

奇怪啊,用了和题主一样的代码,每次都是输出1000

行乎当行 | 园豆:347 (菜鸟二级) | 2017-04-17 14:14

嗯,一般都是1000,出现少于1000的概率大概5%左右,你执行几次看看。 

支持(0) 反对(0) lonlie | 园豆:135 (初学一级) | 2017-04-17 14:24

@lonlie: 我在批处理里执行了几十次

支持(0) 反对(0) 行乎当行 | 园豆:347 (菜鸟二级) | 2017-04-17 14:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册