【C#】Task的4種啟動方式
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
摘要在C#中,根據(jù)應(yīng)用程序的類型和需求,可以選擇不同的方式來啟動任務(wù)(Task)。這些啟動方式主要通過 Task的啟動方式一共有4種。
正文調(diào)用Start方法 首先創(chuàng)建一個 private void btnRun_Click(object sender, EventArgs e) { var t = new Task(() => { this.BeginInvoke(() => { txtStatus.AppendText("Task RUN...\r\n"); }); Task.Delay(1000); }); t.Start(); Task.WaitAll(t);//等待所有任務(wù)結(jié)束,這是在UI是會卡住,需要把上面的Invoke改成BeginInvoke txtStatus.AppendText("RUN FINISH\r\n"); } 靜態(tài)方法Run
private void btnRun_Click(object sender, EventArgs e) { Task.Run(() => { this.Invoke(new Action(() => { this.txtStatus.AppendText("FINISH"); })); }); } TaskFactory工廠
private void btnRun_Click(object sender, EventArgs e) { TaskFactory factory = new TaskFactory(); factory.StartNew(() => { this.Invoke(new Action(() => { txtStatus.AppendText("FINISH1\r\n"); })); Task.Delay(5000); }); } RunSynchronously同步啟動 private void btnRun_Click(object sender, EventArgs e) { var t = new Task(() => { this.txtStatus.AppendText("FINISH"); }); t.RunSynchronously();//同步方法 } 使用 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |