[英]run parallel tasks in C#
我正在開發需要執行並行任務的軟件。 例如,這是我的task1
:
Task t1 = new Task(()=>
{
//Do Some Codes
});
而且我還有更多與task1
具有相同代碼的任務:
Task t2 = new Task(()=>
{
//Do task1 codes
});
Task t3 = new Task(()=>
{
//Do task1 codes
});
t1.start();
t2.start();
t3.start();
我也有一個計時器,以便我可以檢查這些任務的工作情況並更快地完成流程。 但這不會改變,並且它們與一項任務具有相同的時間。
現在,我想知道如何運行並行任務並給我更快的結果。
任何幫助將不勝感激
假設您有兩個函數,並且想要並行執行它們。 我認為您可以通過兩種方式進行操作:
1:使用任務並行庫-
private void Function1()
{
//do work
}
private void Function2()
{
//do work
}
private void RunParallel()
{
Parallel.Invoke(Function1, Function2);
}
2:在單獨的線程中運行每個功能-
private void Function1()
{
//do work
}
private void Function2()
{
//do work
}
private void RunParallel()
{
ThreadStart ts1 = new ThreadStart(Function1);
ThreadStart ts2 = new ThreadStart(Function2);
Thread t1 = new Thread(ts1);
Thread t2 = new Thread(ts2);
t1.Start();
t2.Start();
}
您可以嘗試使用“多線程”來調用您的方法或調用異步方法。 那應該有幫助。
有關更多信息:
https://docs.microsoft.com/zh-cn/dotnet/csharp/async
關於這個問題的投票答案也可能會有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.