我有一個用dotNet寫的windows服務。有一個工作服務使用各種Delegate.BeginInvokes生成工作線程。當服務崩潰時,這些線程會自動清理?如果是這樣,什麼時候?dotnet崩潰服務是否終止它自己的線程?
0
A
回答
1
所有通過你的進程創建的線程是進程中。當你的應用程序崩潰你的進程死亡,並且該進程中的所有線程突然終止。他們不會像友好一樣被終止(他們沒有得到任何放棄的信號或任何東西),他們只是被殺死了。他們可能會或可能不會得到足夠的處理器時間來完成執行 - 而是取決於他們在做什麼,以及Windows如何快速轉儲過程。
所有強大的Windows版本(2000+)都應該讓你的進程隔離,所以當它死亡時,整個進程空間被轉儲並且內存被回收。如果您在崩潰時正在訪問非託管資源,那麼整個畫面會發生變化,答案是「視情況而定」。
0
只有當服務被終止,並從內存中卸載
相關問題
- 1. 如何終止自己的Windows服務
- 2. 在linux崩潰期間線程是如何終止的?
- 3. 線程在asp.net崩潰的服務器
- 4. iOS應用程序:崩潰和終止後是否有生命?
- 5. 自己的服務器的iOS崩潰記者
- 6. Java中的子線程是否阻止父線程終止?
- 7. 崩潰後終止應用程序
- 8. 自定義視圖終止我自己的工作線程
- 9. android ACRA 4.8崩潰報告實現自己的服務器
- 10. 進程已經終止/計劃重新啓動崩潰的服務
- 11. Application.Exit()是否會終止後臺線程?
- 12. 如何檢查線程是否終止?
- 13. 線程崩潰
- 14. 子進程殺死它的父母不會終止自己
- 15. Dart Web服務器:防止崩潰
- 16. 防止主UI從子線程崩潰
- 17. GCM服務器在線域名崩潰
- 18. 是否可以限制Web服務訪問它自己的Web應用程序?
- 19. 服務按間隔運行任務;它應該是它自己的過程嗎?
- 20. 服務器的異步響應是否自己創建一個新線程
- 21. 線程程序崩潰(Windows自帶OK)
- 22. 崩潰的線程是iOS崩潰報告中唯一重要的線程嗎?
- 23. 您是否應始終使用ExecutorService而不是開始自己的線程?
- 24. 防止引導程序崩潰崩潰
- 25. 獲取一個std ::線程來分離和終止自己
- 26. Xcode - 崩潰:崩潰的線程:0調度隊列:com.apple.main線程
- 27. C++線程 - 崩潰
- 28. 應用程序崩潰 - 有線崩潰
- 29. CoreLocation線程崩潰崩潰:com.apple.CoreLocation.ConnectionClient.0x16fcb870.events
- 30. 終止主線程,但不確保終止它產生的線程
即使有線程仍在執行,服務是否會卸載? – 2008-12-17 21:20:23