Ich habe diese Klasse:
%Vor%Ich möchte die Funktion Statistics mit verschiedenen Theads starten und habe so etwas wie:
%Vor%aber der Compiler Fehler sagt "Der nicht-generische Typ 'System.Threading.Thread' kann nicht mit Typ-Argumenten"
verwendet werdenIch habe nicht meine ganze Klasse geschrieben und möchte nur wissen, dass es heiß ist, den Thread zu starten
Danke
Sie müssen einen Schritt zurückgehen und den Compilerfehler lesen. Thread
ist kein generischer Typ. Es ist wirklich nicht all klar, was Sie hier versuchen, vor allem, weil Sie nicht eine parameterlose getStatistics()
-Methode (die als% co_de bezeichnet werden soll) gezeigt haben % folgt den .NET-Namenskonventionen) und die parametrisierte GetStatistics()
-Methode, die Sie haben haben keinen Rückgabetyp.
Das Starten eines Threads mit einem Lambda-Ausdruck ist der einfache Teil:
%Vor%Es ist jedoch nicht klar, wie sich das auf Ihren Beispielcode auswirkt.
Wenn Sie die TPL in .NET 4 verwenden, können Sie (und wahrscheinlich sollten getStatistics()
oder Task
verwenden):
oder
%Vor%Es ist möglich, dass Sie wirklich wollen:
%Vor%Beachten Sie, dass hier der -Konstruktor innerhalb der neuen Aufgabe aufgerufen wird - was wichtig ist, da es so aussieht, als würde das wahrscheinlich die ganze Arbeit machen. (Das ist normalerweise eine schlechte Idee, aber das ist eine andere Sache.)
Sie sollten sich .NET-Namenskonventionen im Allgemeinen ansehen, btw ...
Tags und Links c# multithreading