Kann ich meinen Thread-Pool dazu bringen, seine Threads als Vordergrund zu erstellen?

8

Standardmäßig arbeitet der Thread-Pool in .NET mit Hintergrund-Threads.

Ich kann es nicht ändern, um als Vordergrund zu laufen.

Wie ändere ich das, um als Vordergrund-Threads zu laufen?

Bearbeiten:

Ich muss das verwenden, weil ich meine App aufgrund der hohen Volumenverarbeitung ändere (bevor ich manuell Threads behandelte, die standardmäßig Foreground sind), und ich möchte meine Anwendung nicht ändern, nur um sie anzupassen zu einem Hintergrund-Threading-Szenario ..

Ich frage mich, warum Thread-Pool standardmäßig nicht Vordergrund ist

    
RollRoll 31.01.2013, 17:01
quelle

3 Antworten

17

Der Begriff "Hintergrundthread" bedeutet in .NET sehr wenig. Die Thread.IsBackground-Eigenschaft ist nur ein einfaches Flag, das der CLR bei der Entscheidung hilft, ob der Thread unbemerkt abgebrochen werden soll, wenn die Anwendungsdomäne entladen wird oder ob der Thread freiwillig beendet werden soll.

Sie können die Eigenschaft nur ändern, wenn ein Thread-Pool-Thread beim Programm-Exit weiter ausgeführt werden soll. Dieser Ausschnitt zeigt, wie das möglich ist:

%Vor%

Halten Sie hier den Ball im Auge. Wenn dies für Sie wichtig ist, dann ist die Wahrscheinlichkeit hoch, dass Sie etwas falsch machen.

    
Hans Passant 31.01.2013, 17:55
quelle
2

Sie können Thread-Pool-Threads als Vordergrund festlegen.

%Vor%     
Boppity Bop 31.01.2013 23:24
quelle
0

Ich glaube nicht, dass du das kannst, du wirst einen eigenen ThreadPool entwickeln müssen, um das zu tun.

  

Die Threads im verwalteten Thread-Pool sind Hintergrundthreads. Das heißt, ihre IsBackground-Eigenschaften sind wahr. Das bedeutet, dass ein ThreadPool-Thread eine Anwendung nicht mehr ausführt, nachdem alle Vordergrund-Threads beendet wurden.

     

Wenn Thread-Pool-Threads nicht verwendet werden sollen

     

Es gibt mehrere Szenarien, in denen es sinnvoll ist, zu erstellen und   Verwalten Sie Ihre eigenen Threads, anstatt Threadpool-Threads zu verwenden:

     
  • Sie benötigen einen Vordergrund-Thread.
  •   

Von diesem Link Und dies

    
Kyle C 31.01.2013 17:13
quelle

Tags und Links