Erste grundlegende Verwendung
Der Unterschied zwischen Thread, ThreadPool und Task
Task wurde in .NET4.0 hinzugefügt und hat ähnliche Funktionen wie der Thread-Pool ThreadPool, wenn Task zum Starten verwendet wird Bei einer neuen Aufgabe wird der Thread aus dem Thread-Pool aufgerufen und Thread erstellt bei jeder Instanziierung einen neuen Thread.
Wenn es sich um einen Langzeitvorgang handelt, verwenden Sie bitte
TaskCreationOptions.LongRunning im Task-Konstruktor (Acton, TaskCreationOptions), was bedeutet, dass der Taskplaner diesen Thread platziert Auf Nicht-Thread-Pool ausführen
Die zweite und vierte Startmethode
1) Beginnen Sie mit dem Start, neu Aufgabe, bei der der Parameter eine Aktion ist
class Program
{
static void Main(string[] args)
{
Task t = new Task(DoA);
t.Start();
Console.ReadKey();
}
static void DoA()
{
for (int i = 0; i < 100; i++)
{
Console.WriteLine("i={0}\n", i);
}
}
}
Nach dem Login kopieren
2) Direkt über Ausführen ausführen , akzeptiert eine Aktion als Parameter und das Rückgabeobjekt ist eine Aufgabe
static void Main(string[] args)
{
Task.Run(() =>
{
for (int i = 0; i < 50; i++)
{
Console.WriteLine("i={0}",i);
}
});
Console.ReadKey();
}
Nach dem Login kopieren
3) Thread mit Rückgabeparametern
Task<int> task = Task.Run<int>(() =>
{
int sum = 0;
for (int i = 0; i < 50; i++)
{
sum += 1;
}
return sum;
});
int result = task.Result;
Console.WriteLine("运算结果是:{0}",result);//输出50
Console.ReadKey();
Nach dem Login kopieren
4) Durch Task.Factory
Task t = Task.Factory.StartNew(() =>
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("i={0}", i);
}
});
Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonBeispiel für eine Startmethode für die Aufgabenverwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn