【发布时间】:2009-11-16 19:17:23
【问题描述】:
我正在使用 3rd 方库,并且该库的某些功能需要很长时间才能执行,因此我想在功能繁忙时显示“请稍候”对话框。
通常我会这样做:
Thread longTask = new Thread (new ThreadStart(LongTask));
longTask.IsBackgroud = true;
longTask.Start();
pleaseWaitForm = new PleasWaitForm ("Please wait for task to complete");
pleaseWaitForm.ShowDialog();
void LongTask()
{
// Do time consuming work here
pleaseWaitForm.CanCloseFlag = true;
}
不幸的是,第 3 方库不是线程安全的。任何解决方法?有没有办法将对话框作为后台任务进行管理?
【问题讨论】:
-
你是什么意思它不是线程安全的?您的问题似乎与此无关。能否请您详细说明。
-
如果它不是线程安全的,那么它只是意味着它不能可靠地同时被多个线程使用。看来您正在运行一个后台线程,所以应该没问题。您是否遇到了某种错误/竞争状况,导致您对自己的设计进行了第二次猜测?
标签: c# dialog multithreading pleasewait