我有一個反序列化方法(XML),運行良好,直到它達到X
對象數。在X
以下,反序列化所需的時間是可以接受的,並且被阻止的UI不是問題。但是,如果對象數量大於X
(相對不太可能,但可能),則加載時間太長。一旦反序列化(或任何其他方法)啓動後,是否可以從UI線程跳轉到後臺線程,以便在反序列化時間過長時解鎖UI線程?謝謝切換到後臺線程並繼續執行方法
0
A
回答
2
只要在所有情況下在後臺線程中進行反序列化。如果對象數量低於X,它不會成爲問題,並且如果它大於X,它將不會阻止UI。
您可以在後臺工作人員中執行此操作,並使用RunWorkerCompleted
事件(這是在UI線程上提出的)
0
不,一旦你請求BCL設施的反序列化,你不能切換線程類型。也許如果你編寫了你自己的自定義解串器,你可以這樣做,但是在所有個案(由於大案例)而不是在之後簡單地使用單獨線程(例如線程池)執行此任務會更有效你過境X
。
相關問題
- 1. 繼續下載被切換到後臺
- 2. 在後臺繼續執行任務
- 3. Android - 切換方向後繼續檢查
- 4. 在後臺運行一個任務並繼續執行
- 5. 在後臺運行Python HTTPServer並繼續執行腳本
- 6. 在主線程中執行任務的繼續的方法
- 7. 可以使用哪些方法使線程等待事件並繼續執行?
- 8. 執行器線程在熱部署後繼續運行
- 9. 線程在關閉應用程序後繼續執行
- 10. 後臺線程完成後C#執行方法
- 11. 如何在這種情況下繼續執行後臺進程
- 12. 忽略KeyError並繼續執行程序
- 13. 繼續在後臺運行次要線程
- 14. IE收到302後繼續執行JS?
- 15. SIGALRM:在執行後繼續執行
- 16. 睡眠後繼續線程
- 17. 恢復線程的上下文並繼續執行?
- 18. 如何在獲得異常後繼續執行線程
- 19. 主線程在pthread_create()後不會繼續執行
- 20. 從後臺線程執行的其他方法執行主線程上的方法?
- 21. 在轉到後臺並返回前臺後無法繼續從AVAssetReaderOutput讀取
- 22. Haskell:繼續執行程序
- 23. 繼續執行程序
- 24. 使用NSNotification在後臺線程執行方法
- 25. 如何在等待在同一個線程上執行後繼續執行?
- 26. 方法結束後執行線程嗎?
- 27. Laravel確認控制器方法並繼續執行任務
- 28. 如何在返回數據後繼續執行方法?
- 29. 等待方法的n個執行再繼續後完成
- 30. 返回語句後繼續執行方法
謝謝。我想這將是最好的方式。我最初並不想在bg上做所有的事情,因爲在反序列化完成之前用戶可能會嘗試訪問這些對象。但是,通過該事件通知,我可以檢查它是否已完成。 – XSL 2010-09-27 18:12:58