在我的主線程中運行Backgroundworker。他的待辦事項是從主線程調用「方法」的方法。當我希望取消我的後臺工作器時,它會停止運行,但在mainthread上調用的「方法」仍會運行導致問題的原因。任何想法如何解決它?C#線程和backgroundworker問題
1
A
回答
1
除了檢查CancellationPending
,你需要設置的參數DoWorkEventArgs
的Cancel
財產。
然後,在RunWorkerCompleted
事件,您可以查詢RunWorkerCompletedEventArgs
的Cancelled
屬性,將反映您在DoWorkEventArgs
設置的值。
現在您可能會問,爲什麼BackgroundWorker
在外部取消操作時不會自行設置這些屬性。原因是它不知道你的DoWorkEventArgs是否真的檢查過它是否被取消。 DoWorkEventArgs
可能錯過了它併成功完成。這很重要,因爲它可能會導致副作用(如數據庫更新),您可能需要知道它是否實際完成。
0
MSDN指出,必須檢查CancellationPending
內Method
(做呢?)
相關問題
- 1. C#BackgroundWorker的線程問題
- 2. C#Backgroundworker數據無效 - 線程問題?
- 3. 跨線程問題,BackgroundWorker的和ReportProgress
- 4. C#BackgroundWorker問題
- 5. C#Backgroundworker新問題
- 6. WPF和backgroundworker問題
- 7. C#線程和類問題
- 8. C#:BackgroundWorker線程優先
- 9. C#BackgroundWorker和Com端口問題
- 10. C#線程問題
- 11. C#線程問題
- 12. C#線程問題
- 13. C#線程問題
- 14. C#線程問題
- 15. 線程問題c#
- 16. C++線程問題
- 17. C#線程問題
- 18. WPF/BackgroundWorker和BitmapSource問題
- 19. BackgroundWorker和CPU使用問題?
- 20. 線程與Backgroundworker
- 21. c#線程訪問問題
- 22. BackgroundWorker問題
- 23. BackgroundWorker問題
- 24. 問題與backgroundworker
- 25. C++ windows線程和互斥問題
- 26. C#線程和ShowDialog的問題
- 27. BackgroundWorker線程不會停止winforms c#
- 28. 使用BackgroundWorker在C#中併發線程
- 29. BackgroundWorker多線程訪問表單
- 30. BackgroundWOrker無效的跨線程訪問
發佈一些代碼,證明您有問題。 –
請您提供一些示例代碼或擴展說明嗎? –
你能爲我們展示一些代碼嗎? – Zenwalker