Wie man einen neuen Thread erstellen um eine Aktion durchzuführen<T>
Den Titel ziemlich viel, sagt er. Ich habe einige Methoden, die ausgeführt werden müssen, in einem neuen thread, und da alle den code vor dem erstellen des thread ist so ziemlich das gleiche, ich dachte, ich würde eine Funktion erstellen, die dauern könnte, die als parameter der Aktion, die ich machen zu müssen.
Problem ist, ich habe nicht gefunden, wie zu sagen, der thread, den es braucht, um die Aktion auszuführen. Ist das überhaupt möglich? Hier ein kleines code Beispiel, was ich versuche zu tun.
private void ExecuteInBiggerStackThread(Action<Helper> action, Parameters parms)
{
ParameterizedThreadStart operation = new ParameterizedThreadStart(action);//here's the mess
Thread bigStackThread = new Thread(operation, 1024 * 1024);
bigStackThread.Start(parms);
bigStackThread.Join();
}
Grüße,
seba
- Der Stapel nicht größer. Es ist eigentlich kleiner auf x64.
- Code läuft auf IIS 7 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Etwas wie dies sollte den trick tun:
Ich würde nicht einmal die Mühe, mit
ParameterizedThreadStart
. Lass den compiler die Drecksarbeit macht:Natürlich, Sie konnte tragen diese einen Schritt weiter und ändern Sie die Signatur an:
Oder eine generische version der Methode....
Versuchen Sie es mit
Action<object>
und dann gegossen, umHelper
im Action-Körper