【发布时间】:2016-04-09 11:05:34
【问题描述】:
如果我向ThreadPool.QueueUserWorkItem 添加一个较慢的任务,我如何检测该任务是否仍在进行中?
单击按钮时,我想在任务进行时显示预加载器图形,然后在完成时将其隐藏并显示对话框。
public class MyActivity : Activity
{
protected Button myButton;
private Dialog myDialog;
private ManualResetEvent slowEvent = new ManualResetEvent(false);
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
**setup myButton & myDialog**
ThreadPool.QueueUserWorkItem(o => slowTask());
}
private void slowTask()
{
**do some slow stuff**
slowEvent.Set();
}
protected void myButton_Click(object sender, EventArgs e)
{
**display pre-loader graphic if task is still running**
popupMenuDialog.Show();
}
}
【问题讨论】:
-
为什么不是任务 api developer.xamarin.com/guides/cross-platform/advanced/… ?异步方法 1. 显示弹出窗口 2. 等待后台任务 3. 关闭弹出窗口
标签: c# android xamarin threadpool