线程没有中止并等待调度程序调用?

时间:2017-09-18 06:15:56

标签: c# multithreading invoke dispatcher thread-abort

(WPF c#应用程序)。我有主窗口UI线程,我在代码的许多地方使用调度程序调用。从主线程我开始另一个线程。我尝试通过单击取消按钮立即中止该线程。在取消按钮单击我使用Thread.abort()来终止线程。但线程不会中止。我发现调度程序调用正在等待,UI没有响应。 我想同步运行线程而不是使用begininvoke ..?

按钮取消事件在A类中,我们正在调用线程中止。

Threadx.abort();

当调用线程中止时,我们通过委托

从线程调用自定义消息框

自定义消息框调用看起来像这样并且在A类中

            this.Dispatcher.Invoke((Action)(() =>
            {

                    QMessageBox = new QatMessageBox(this);
                    result = QMessageBox.Show(messageBoxTest, messageBoxCaption, messageBoxButton, messageBoxImage);


            }));

自定义消息框看起来像这样,并且位于单独的类

       public QatMessageBox(Window owner)
    {
        InitializeComponent();
        Owner = owner;
        this.DataContext = this;
    }

0 个答案:

没有答案