Asp.net應用程序中每個進程/線程的最大互斥量數是否有限制?windows中每個進程/線程的最大互斥量數
以防目標操作系統爲:Windows XP Pro,服務器2003/2008和Windows 7在不久的將來。 通常該網站部署在應用程序池中。
Asp.net應用程序中每個進程/線程的最大互斥量數是否有限制?windows中每個進程/線程的最大互斥量數
以防目標操作系統爲:Windows XP Pro,服務器2003/2008和Windows 7在不久的將來。 通常該網站部署在應用程序池中。
我打算在這裏出去走走,冒險出現這種可能性,你可能(不一定)做錯了什麼。
Raymond Chen表示它best但是,如果您擔心互斥鎖的最大數量,您可能會保護您的資源的粒度太細。
當然有將是一個最大數量,即使它是由可用內存而不是一個常數。但是,我看不到任何有效的情況,您需要這麼多的互斥鎖才能達到極限。
我不是說這不可能,因爲我不知道你的應用程序的體系結構是什麼。但是如果沒有更好的方法去做,我會感到非常驚訝。
也許如果你退後一步並告訴我們「我想要什麼」而不是「我是怎麼做到的」,我們可以提供更好的建議。
該限制基本上與進程可以擁有的句柄數限制相同。這是一個相當大的數字:16,777,216。當然,真正的限制要低得多,並且取決於你有多少可用的非分頁池,哪個不是那麼大。
如果您擔心限制,您的程序出現問題。請記住,關鍵部分通常會延遲創建任何內核對象,這意味着如果爭用較少,則可以擁有大量內核對象。
如果您看到發佈的鏈接,它提到XP中的互斥量最多爲20個。該網站是一個可訪問5個配置文件的Web場。 – 2010-09-23 05:03:54
呃,沒有。有一種簡單的方法來反駁您的說法:打開Process Explorer並查看幾個不同進程的句柄(包括未命名的句柄)。 Mutant對象的數量將會加起來,遠遠超過20個。 – wj32 2010-09-23 06:39:00
Web場和1000個用戶訪問相同的資源(配置文件) – 2010-09-23 05:04:52