ConcurrentQueue TryDequeue实现在哪里

时间:2017-01-29 06:04:20

标签: c#

在哪里可以看到在TryDequeue上执行繁重操作的实际代码?我尝试了F12(Go To Definition),但只考虑了方法名称和参数。

lock (this)
{
    T overflow;
    while (q.Count > Limit && q.TryDequeue(out overflow)) ;
}

2 个答案:

答案 0 :(得分:1)

您可以查看reference source。强烈建议不要锁定ConcurrentQueue,否则会失败。在这种情况下,Queue会快得多。

答案 1 :(得分:1)

ConcurrentQueue是.NET框架的一个类。因此,它在您的系统上可用作全局程序集缓存中的二进制文件。这意味着它没有源代码。在标签的标题中,您会看到备注 [来自元数据] ,这意味着它是自动生成的来源。

您可以查看Microsoft提供的reference source在线版。您还可以使用 ILSpy 反射器等反编译器。