DispatcherQueueController.ShutdownQueueAsync Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beendet asynchron die DispatcherQueue , die diesem DispatcherQueueController zugeordnet ist, und beendet den Thread, wenn der DispatcherQueueController von CreateOnDedicatedThread erstellt wurde.
Diese Methode gibt (ein asynchroner Vorgang) zurück, sobald der Herunterfahrvorgang gestartet wird. Der asynchrone Vorgang wird jedoch erst abgeschlossen, wenn der Vorgang zum Herunterfahren abgeschlossen ist.
public:
virtual IAsyncAction ^ ShutdownQueueAsync() = ShutdownQueueAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction ShutdownQueueAsync();
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction ShutdownQueueAsync();
function shutdownQueueAsync()
Public Function ShutdownQueueAsync () As IAsyncAction
Gibt zurück
Ein asynchroner Vorgang, der abgeschlossen wird, nachdem die Warteschlange ihre gesamte verbleibende Arbeit verteilt hat.
- Attribute
Beispiele
// Shut down the event loop.
public async void ShutdownLoop()
{
if (_queueController != null)
{
// The await will complete after the event loop exits.
await _queueController.ShutdownQueueAsync();
_queueController = null;
_queue = null;
}
}
// Another class that has access to the dedicated thread's DispatcherQueue.
public class ModuleA
{
public async void ShutdownSetup()
{
// Gets the DispatcherQueue for the dedicated thread.
// Invoked when the controller begins the ShutdownQueueAsync.
_dispatcherQueue.ShutdownStarting += (s, e) =>
{
// Queue is shutting down, do this last operation which
// will update state before the loop exits.
_queue.TryEnqueue(
() =>
{
FinalInThreadCleanup(_myState);
});
};
// Invoked after the DispatcherQueue event loop exits.
_dispatcherQueue.ShutdownCompleted += (s, e) =>
{
CleanUp(_myState);
};
}
}
Hinweise
Wenn Sie ShutdownQueueAsync aufrufen, werden die folgenden Ereignisse in dieser Reihenfolge ausgelöst:
Diese Ereignisse sind Mitglieder des DispatcherQueue-Objekts , und ihr Zweck besteht darin, Listener zu benachrichtigen, dass dispatcherQueue heruntergefahren wird. Die Ereignisse werden in dem Thread ausgelöst, der die DispatcherQueue-Ereignisschleife selbst ausführt.