Beispiel für eine Startmethode für die Aufgabenverwendung

零下一度
Freigeben: 2017-06-23 16:15:35
Original
2892 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage