我一直在客戶端應用程序上使用.NET4的Parallel
命名空間。似乎做了一個相當體面的工作,真正加快循環,而不用擔心線程。 但是,在由ASP.NET驅動的網站上,服務器環境中的建議是什麼?如果我想象一個具有四個CPU內核的服務器,並且我使用基於Parallel命名空間方法的代碼,那麼我可以循環任何我有很快速度的列表。 同時我可能會阻塞所有四個CPU內核。相反,如果我只使用一個線程來完成循環,其他用戶可以訪問我網站的同一頁面並獲得響應 - 只需要更慢。 那麼Parallel命名空間,ASP.NET和IIS如何一起玩呢?它以某種方式管理?.NET 4服務器環境中的並行命名空間 - 優缺點?
2
A
回答
1
個人而言,我最擔心的是會話(在ORM工具中)不是線程安全的,因此任何線程都需要自己的會話。因此,在使用ORM工具(如果有的話,即實體框架)和自動並行性時要考慮到一個主要問題。
也直接從MSDN:.NET Framework並行擴展允許您嵌套並行循環。在這種情況下,運行時環境會協調使用處理器資源。你會發現,嵌套並行循環中,每個循環使用的線程少於非嵌套循環。
一個相關的問題是處理服務器應用程序中的並行循環。 Parallel類嘗試以與嵌套循環處理完全相同的方式處理服務器應用程序中的多個AppDomain。如果服務器應用程序已經在使用所有可用的線程池線程來處理其他ASP.NET請求,則並行循環將只在調用它的線程上運行。如果工作負載減少並且其他線程變得可用並且沒有其他ASP.NET工作要處理,則循環將開始使用其他線程。
相關問題
- 1. SQL CE 4(CTP)是否支持使用System.Transaction命名空間的環境事務?
- 2. .NET命名空間中可用的終端服務命令?
- 3. Microsoft.AnalysisServices.AdomdClient命名空間缺少服務器類?
- 4. 使用不同環境的優缺點
- 5. 解析器缺少XML命名空間
- 6. .NET命名空間
- 7. 在.net中重命名命名空間
- 8. 服務器中缺少磁盤空間
- 9. 在純Java環境中,Web服務和RMI有哪些優缺點?
- 10. 命名空間C#.NET
- 11. Web服務vs WCF,優點和缺點
- 12. 嵌入式腳本環境的優點/缺點?
- 13. 命名查詢優點和缺點
- 14. 軌道4控制器命名空間
- 15. 服務器環境
- 16. .NET的命名空間ComboBoxItem
- 17. 命名空間問題.net
- 18. 在.net環境中使用MSChart服務
- 19. XHTML命名空間優勢
- 20. .NET 4.0替代.NET 4.5命名空間
- 21. Silverlight 3命名空間在Silverlight 4中缺失
- 22. .NET Web服務根名稱空間
- 23. 4種Python命名空間?
- 24. Web服務vs DLL;優點和缺點?
- 25. 認知服務OCR優點和缺點
- 26. 命名空間confilcts .NET C++
- 27. Unity中缺少命名空間'BaseMeshEffect'
- 28. 全局命名空間中的JavaScript庫函數 - 缺點?
- 29. SQL服務器的XQuery與默認命名空間
- 30. .Net對客戶端和服務器有不同的環境嗎?
說得好。另外,如果您擔心CPU分配問題,並行環路會有超負荷接受最大並行度參數 - 您可以根據服務器配置對其進行調整。 – lukiffer 2011-04-17 17:22:39
好的,那麼當使用Parallel時,參數「頁面總體上變慢,但對於當前正在運行它的頁面而言速度很快」不是/不再是真實的。但是,如果我自己做所有線程的東西,這可能是一個問題。感謝您的陳述。 – Krumelur 2011-04-17 18:54:11