c# thread-Methode
Wenn ich eine
public void Method(int m)
{
...
}
wie erstelle ich einen thread zu dieser Methode?
Thread t = new Thread((Methode));
t.Start(m);
nicht funktioniert.
InformationsquelleAutor der Frage elisa | 2011-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Methode, die Sie aufrufen einen parameter benötigt. Denn Sie hat einen parameter und einen Rückgabetyp void Sie können die folgenden
Brauchen Sie nicht zu ändern, den int zu einem Objekt in der Signatur der Methode mit dieser Methode.
Gibt es Vorteile gegenüber der Verwendung der ThreadPool-über die Gründung eines eigenen Thread manuell.
Thread vs-ThreadPool -
InformationsquelleAutor der Antwort Peter Kelly
Können Sie dies tun, indem Sie einen lambda-Ausdruck. Der C# - compiler erzeugt automatisch die
ThreadStart
Delegierten hinter die kulissen.Beachten Sie, dass wenn Sie ändern
m
später in Ihrem code, die änderungen zu propagieren, in dem thread, falls es noch nicht eingegebenMethod
noch. Wenn dies ein problem ist, sollten Sie eine Kopie vonm
.InformationsquelleAutor der Antwort Justin
Thread-Methoden muss eine Methode mit dem Rückgabewert void und akzeptieren kein argument.
Gibt es eine weitere Variante, die ParameterizedThreadStart
ThreadParamMethod ist eine Methode, dem Rückgabetyp void ist und akzeptiert ein argument vom Typ object. Allerdings können Sie nur über jede Sache, als Objekt.
InformationsquelleAutor der Antwort S M Kamran
Methode muss ein Objekt nicht einem int-Datentyp in der Lage sein, die ParameterizedThreadStart Delegaten.
So ändern m auf ein Objekt und casten es zu einer int erste off.
InformationsquelleAutor der Antwort Tim Rogers
bitte versuchen:
InformationsquelleAutor der Antwort Six Beacon Gaia