2 Stimmen

Beanspruchung von Ressourcen/Speicher von Threads single threaded apartment thread

Ich verwende die folgende Ein-Faden-Wohnung. Ich bin nicht in der Lage, Speicher/andere Ressourcen vom Thread-Objekt zurückzufordern. Actullay Ich möchte meinen Thread in try catch und fianlly block verpacken. try und catch sind fertig. Aber ich bin mir bei finally block unsicher. Welchen Code, welche Eigenschaft oder Funktion muss ich im finally-Block aufrufen?

System.Threading.Thread myThread = null;
    try 
    {
        myThread = new System.Threading.Thread(functionAddressETC)
        myThread .SetApartmentState(System.Threading.ApartmentState.STA);
        myThread .Start();
        myThread .Join();
    }
catch(Exception ex)
{}
finally
{
   // I need help in finally block. I need to reclaim all my resources
   //what function do i need to call here??????
}

1voto

Richard Punkte 103159

Die GC wird Speicher zurückgewinnen, Finalizer werden native Ressourcen freigeben. Die einzige Möglichkeit, diese Prozesse zu gewährleisten, besteht darin, sicherzustellen, dass Objekte, die Sie nicht mehr benötigen, nicht referenziert werden.

Ein Thread hat keinen eigenen Speicher/Ressourcen, abgesehen von seinem Stack, der vom Join beim Beenden des Threads aufgeräumt wird (es sei denn, Sie haben etwas, das mit der Duplizierung nativer Thread-Handles herumspielt: in diesem Fall wird das letzte Handle geschlossen).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X