2013-04-13 35 views

回答

3

这当然不会达到很好的效果。它取决于实际的同步提供者,有多个。尝试着重于常见的一些,WindowsFormsSynchronizationContext和WpfSynchronizationContext。两者都会从队列中清除所有待处理的帖子,他们会消失无踪。如果您继续发布,则Winforms将引发InvalidOperationException。 Wpf更复杂,它可以设置DispatcherOperation.Status字段来表明它不起作用。但就我所知,这个字段并没有被上下文代码所遵守,所以它应该在默默无闻的情况下落入这个位桶。

显然你不希望发生这种情况。简单的解决方法是Thread.IsBackground = true,让CLR清除混乱,通常不需要让程序在没有UI的情况下继续。

相关问题