我正在創建額外的線程來執行各種後臺操作。如果我在該工作線程中使用WPF,那麼我需要確保該線程的調度程序正常關閉以防止內存泄漏。是否還有其他使用Dispatcher的.NET組件?或者WPF是唯一使用它的.NET組件?哪些.NET組件使用Dispatcher?
2
A
回答
1
從您的問題的聲音中,您在後臺線程上創建Dispatcher
而不是從主UI線程中捕獲和使用現有的線程。你爲什麼這麼做?您的後臺線程應該只使用現有的Dispatcher
並允許UI線程處理清理。
1
調度程序在內部使用SynchronizationContext,它是一個傳統的類,用於Windows的跨線程操作。但「調度員」只與WPF有關。
相關問題
- 1. 哪些組件擺動使用
- 2. 哪些.net組件不需要我的應用程序?
- 3. .NET Windows Service使用哪些資源?
- 4. .net數據加密?使用哪些類?
- 5. 哪些.NET控件不使用JavaScript處理事件?
- 6. .NET Dispatcher類缺失(System.Windows.Threading)
- 7. Scrum使用哪些軟件?
- 8. MVC4需要哪些組件?
- 9. 使用.net在fpu硬件中實現哪些數學方法?
- 10. 使.NET組件
- 11. 哪些選項可用於在.net
- 12. 此應用使用哪些跳板類型UI組件?
- 13. 您可以使用哪些組件創建AIR應用程序?
- 14. 在.net 2.0上下文中使用Dispatcher類的替代方法
- 15. .NET使用VB6 COM組件
- 16. 確定何時使用哪些Android組件?
- 17. Flex:我應該使用哪些OpenSource容器組件?
- 18. 哪些React組件應該與參數一起使用?
- 19. AirNav Live Flight追蹤器中使用了哪些地圖組件?
- 20. Rails 3.2中的ActionController :: Dispatcher在哪裏?
- 21. 哪些技術用於.net中的中間件服務器?
- 22. 找出哪些可執行文件引用了.NET dll?
- 23. 哪些小部件用於信使
- 24. OpenLayers.js要使用哪些文件?
- 25. 哪些文件夾使用RemotedSigned
- 26. 在Rhythmbox中使用哪些小部件
- 27. 程序使用哪些文件?
- 28. 哪些文件使用SAML與passport-saml
- 29. 此表單使用了哪些控件?
- 30. 哪些perf事件可以使用PEBS?
後臺線程通過使用WPF創建一個報告來設置一個可視化樹,然後將該可視化樹渲染爲位圖,然後將其保存到磁盤。我發現它正在泄漏內存,然後才發現WPF使用調度程序來處理內存管理。在退出線程之前添加一個Dispatcher.CurrentDispatcher.Run()並關閉它將消除內存泄漏。 想知道是否有任何其他領域,如WCF?,使用dispather,所以我需要也知道這是潛在的泄漏。 – 2012-03-10 09:12:32
它實際上是一種服務,它具有許多基於調度和從數據庫獲取相關數據的方式生成的報告。所以沒有涉及主要的UI線程。 – 2012-03-10 09:14:10