我正在设计一个多线程进程,我在其中创建一个线程来进行一些处理,以免锁定 UI。但是,当这个线程完成时(如果它成功完成而没有错误),我需要一个事件,以便我可以在 UI 线程上执行一个方法,该方法将正确更新 UI。
我怎样才能正确地做到这一点?
我的线程简单代码:
Thread t = new Thread(new ThreadStart(GetAppUpdates));
t.Start();
现在我需要知道线程何时完成,但我觉得我不想实现会不断检查线程状态的代码,因为它会导致 UI 延迟。
(我知道使用 backgroundworker 会更容易,但我不希望这个进程使用 backgroundworker,因为这个线程不能是后台)。
有没有办法在线程对象完成时触发它们的事件?完成 ThreadFinished() 事件的最佳方法是什么?线程成功完成后,我有必须在主 UI 上执行的代码。