1, 使用 TaskFactory.StartNew 另起task去执行耗时的任务,参数Action: public delegate void Action() 代理类型,代理一个无参无返回值的方法。
Task.Factory.StartNew(() =>
{
timeConsumingMehtod();//另起task去执行耗时任务
});
void timeConsumingMehtod()
{
//.dodo
}
2, 使用Thread 构造函数 (ThreadStart),参数ThreadStart:public delegate void ThreadStart(),无参无返回值的代理。
new Thread(new ThreadStart(this.timeConsumingMehtod)).Start();
void timeConsumingMehtod()
{
//......dodo
}
3, 控件,Control.Invoke 方法,改变标签显示。
//Delegete一个匿名方法
this.label21.Invoke((Action)delegate
{
this.label21.Text = label21.Text = (i++.ToString()) + "/" + totalCount.ToString();
});
4,带参Thread
new Thread(new ParameterizedThreadStart(this.Do)).Start(参数);