假设我们在单独的线程中运行了一些这样的代码:
private static void ThreadFunc() {
ulong counter = 0;
while (true) {
try {
Console.WriteLine( "{0}", counter++ );
}
catch (ThreadAbortException) {
Console.WriteLine( "Abort!" );
}
}
}
Run Code Online (Sandbox Code Playgroud)
当Thread.Abort()被调用时,是有可能的异常catch块之外抛出?
虽然有很多关于COM和STA/MTA的问题(例如这里),但大多数人都在讨论具有UI的应用程序.但是,我有以下设置:
[MTAThread]属性).几个问题:
ConcurrentQueue.大家好。我正在尝试了解如何在控制台应用程序中处理事件。我宁愿不使用静默的 WinForms(尽管我明白这是一种方法)来做到这一点。我已经阅读了一个类似的问题及其回应。请参阅下面的回复文本(链接):
STA 线程的基本要求是它需要运行消息泵。在 Windows 窗体中,您可以使用 Application.Run。或者您可以使用 user32!GetMessage 和 DispatchMessage 手动编写消息泵。但是在 WinForms 或 WPF 中使用它可能更容易。
使用“user32 -> GetMessage”和“user32 -> DispatchMessage”的程序的基本结构是什么?