2016-06-25 15 views
2

Ich mache eine UWP-App für Windows 10. Ich möchte zwei Methoden in einem anderen Thread als dem Eltern/Standard-Thread ausführen, so dass meine App ein wenig schneller sein kann. Aber ich konnte die Thread-Klasse in UWP nicht finden. Was ich habe ist Aufgabe, aber es ist nicht so einfach wie Thread.Multithreading in UWP Windows 10

Die Methoden sind wie folgt.

public List<Rootobject> <Method_name>() 
private List<string> <Method_name>() 

Was fehlt mir?

Antwort

1

Sie haben Task zu verwenden, anstatt Thread weil Thread zur Zeit nicht unterstützt wird (siehe offenes Ticket https://github.com/dotnet/corefx/issues/2576). Was ist nicht so einfach, indem Sie eine Task erstellen?

Task t = Task.Factory.StartNew(() => { 
       // Just loop. 
       int ctr = 0; 
       for (ctr = 0; ctr <= 1000000; ctr++) 
       {} 
       Console.WriteLine("Finished {0} loop iterations", ctr); 
      }); 

finden Sie im Microsoft doc: link Beispiel mit Methoden:

// Running the method which returns List<string> 
Task<List<string>> result = Task.Factory.StartNew(() => ExpensiveMethod()); 


public List<string> ExpensiveMethod() 
{ 
    return ...; 
} 
+0

Also, Threading ist offiziell veraltet? –

+0

Ich würde nicht veraltet sagen, aber nicht unterstützt im Moment siehe das offene Ticket: (https://github.com/dotnet/corefx/issues/2576) –

+0

Sie wollen sowieso nicht threading als Aufgaben sind weit überlegen. –

1

Wir haben ein Open-Source-Paket für UWP (und .NET Standard-im Allgemeinen) entwickeln which implements the System.Threading.Thread class (und verwandte Objekte, wie als Ausnahmen und enums) unter Verwendung von Threads unter der Haube.

TaskThreads ist frei verfügbar (MIT-Lizenz) on GitHub und via NuGet und sollte als Drop-in-Ersatz für die MS-bereitgestellt (fehlt) STT Klasse für UWP Entwickler leicht ersetzen.

Verwandte Themen