2013-04-13 34 views

回答

3

這當然不會達到很好的效果。它取決於實際的同步提供者,有多個。嘗試着重於常見的一些,WindowsFormsSynchronizationContext和WpfSynchronizationContext。兩者都會從隊列中清除所有待處理的帖子,他們會消失無蹤。如果您繼續發佈,則Winforms將引發InvalidOperationException。 Wpf更復雜,它可以設置DispatcherOperation.Status字段來表明它不起作用。但就我所知,這個字段並沒有被上下文代碼所遵守,所以它應該在默默無聞的情況下落入這個位桶。

顯然你不希望發生這種情況。簡單的解決方法是Thread.IsBackground = true,讓CLR清除混亂,通常不需要讓程序在沒有UI的情況下繼續。

相關問題