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

时间:2010-09-15 05:39:37

标签: windows mutex max

Asp.net应用程序中每个进程/线程的最大互斥量数是否有限制?

以防万一目标操作系统:Windows XP专业版,服务器2003/2008和Windows 7在不久的将来。 通常,该网站部署在应用程序池中。

2 个答案:

答案 0 :(得分:1)

我将在这里走出困境并冒险尝试可能(不一定)做错事。

Raymond Chen说best但是,如果您担心互斥锁的最大数量,那么您可能会以过于细小的粒度保护您的资源。

当然 是的最大数,即使它是由可用内存而不是常量决定的。但是,我看不出任何有效的情况,你需要这么多的互斥量才能达到极限。

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

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

答案 1 :(得分:1)

该限制与进程可以拥有的句柄数限制基本相同。这是一个非常大的数字:16,777,216。当然,真正的限制要低得多,并且取决于你有多少非页面缓冲池,这不是那么大。

如果您担心这个限制,那么您的程序就会出现问题。请记住,关键部分通常会延迟创建任何内核对象,这意味着如果争议很少,您可以拥有大量内容。