在像weblogic應用程序服務器這樣的託管環境中創建自己的線程有什麼缺點?
當我在應用程序服務器中工作時,我總是使用託管線程(使用WorkManager API)。
但是我不清楚在應用程序服務器中使用非託管線程可能導致的缺點或問題。在託管環境中使用非託管線程有什麼缺點?
0
A
回答
1
你只是失去了管理線程的好處。 受管理的線程可讓您從「池」中分配線程,具有最大和最小大小,增加率以及在每個池處於重負載時爲每個池排隊請求的能力。您還可以監控這些線程並在運行時控制它們的行爲(例如從Weblogic控制檯)。
0
當你在thraed中運行少量的代碼,並且它不在等待其他線程(不是在鎖等中使用很多)時,使用線程池沒有問題。
但是當你的線程需要運行大量的代碼,爲長週期(例如,等待鎖,等待特定的資源),它不是使用線程池一個很好的做法等
另一個問題是,當你使用運行程序主邏輯的線程池時,你可能會卡住,等待其他線程完成。這是你應該管理你自己的線程的另一種做法。
相關問題
- 1. 什麼是託管和非託管環境意味着在休眠?
- 2. 將非託管轉換爲託管過程中的託管
- 3. 託管和非託管DLL之間有什麼區別
- 4. 託管vs非託管
- 5. DirectX託管或非託管?
- 6. 使用ElementHost在Winform應用程序中託管WPF UserControl有什麼缺點?
- 7. 什麼是「託管」和「非託管」可用性集?
- 8. .NET中「託管」與「非託管」資源的含義是什麼?
- 9. Azure WebJob託管環境
- 10. 安全的託管環境
- 11. 將非託管/非託管成員添加到託管類
- 12. Gdiplus在C++託管或非託管?
- 13. 非託管結構實例在託管
- 14. 託管代碼在非託管
- 15. 從託管代碼引用非託管圖書館,輔助和缺點?
- 16. 在非託管中使用託管類對象
- 17. 在非託管C++ dll中使用託管c#dll
- 18. 在自定義環境中託管StyleCop
- 19. 什麼是託管代碼和非託管代碼?
- 20. 什麼是託管資源和非託管資源?
- 21. 什麼是「託管/非託管類型組合無效」。意思?
- 22. DebugBreak的行爲在非託管和混合(非託管+託管)應用程序之間有所不同?
- 23. 混合.NET開發環境中的非託管x64程序集
- 24. 如何終止在非託管代碼中阻塞的託管線程?
- 25. 簽署引用非託管程序集的託管程序集
- 26. 在混合託管/非託管C++/CLI進程關閉期間線程關閉
- 27. 傳遞非託管的指針非託管對象在託管類C++/CLI
- 28. C++託管到非託管轉換
- 29. C++託管和非託管靜態庫
- 30. 非託管內存和託管存儲