Ich habe den folgenden Code:Müssen wir nach der Verwendung einen Thread in C# entsorgen oder beenden?
public static void Send(this MailMessage email)
{
if (!isInitialized)
Initialize(false);
//smtpClient.SendAsync(email, "");
email.IsBodyHtml = true;
Thread mailThread = new Thread(new ParameterizedThreadStart(
(o) =>
{
var m = o as MailMessage;
SmtpClient client= new SmtpClient("smtpserveraddress");
client.Send(m);
}));
mailThread.Start(email);
ich die Mail wollen sendet mit dem Haupt-Thread, ohne sich im Hintergrund durchgeführt werden. Es ist mir egal, wenn es fertig ist.
Muss ich irgendwie mit der Entsorgung des erstellten Threads umgehen (mailThread)? Oder entsorgt es automatisch, wenn es seine Arbeit beendet hat?
Empfehlen Sie die SendAsync-Methode nicht. Ich möchte den Thread manuell erstellen. Mail.Send war nur ein Beispielszenario.
Vielen Dank.
Aber nicht das Thread-Objekt. Das Thread-Objekt ist sofort für die Garbage Collection geeignet. http://stackoverflow.com/questions/3699147/c-sharp-thread-object-lifetime –