代码之家  ›  专栏  ›  技术社区  ›  mas_oz2k1

Windows中每个进程/线程的最大互斥量

  •  2
  • mas_oz2k1  · 技术社区  · 15 年前

    ASP.NET应用程序中每个进程/线程的最大互斥量有限制吗?

    以防目标操作系统是:windows xp pro、server 2003/2008和windows 7。 通常网站部署在应用程序池中。

    2 回复  |  直到 15 年前
        1
  •  1
  •   paxdiablo    15 年前

    我要冒这个险 可能 (不一定)做错事。

    陈雷蒙说的 best 但是,如果您担心互斥锁的最大数量,那么您可能是在粒度太细的情况下保护资源。

    当然在那儿 即使它是由可用内存而不是常数决定的,也应该是最大值。但是,我看不到任何有效的情况,在这种情况下,您需要如此多的互斥量,以至于您会达到一个极限。

    我不是说这不可能,因为我不知道你的应用程序的架构是什么。但如果没有更好的方法,我会非常惊讶。

    或许,如果你退后一步,告诉我们“我想要什么”,而不是“我是怎么做到的”,我们可以提供更好的建议。

        2
  •  1
  •   wj32    15 年前

    这个限制本质上与进程可以拥有的句柄数的限制相同。这是一个相当大的数字:16777216。当然,真正的限制要低得多,这取决于您有多少可用的非分页池,这不是很大。

    如果你担心限制,你的程序有问题。请记住,关键部分通常会延迟任何内核对象的创建,这意味着如果很少有争用,则可以拥有大量的内核对象。