Warteschlange für Async-Code zur sequenziellen Ausführung

8

Zu jeder Zeit kann ich einen Methodenaufruf erhalten, der eine langwierige Operation erfordert, um zufriedenzustellen.

Es gibt mehrere dieser Methoden. Da sie sich eine Ressource teilen, ist es wichtig, dass sie nicht gleichzeitig ausgeführt werden - jede sollte nacheinander ausgeführt werden.

Normalerweise würde ich die Anrufe einfach nacheinander ausführen:

%Vor%

In diesem Fall sind die Methoden jedoch asynchron:

%Vor%

Ich denke, ich muss Task.ContinueWith verwenden und habe folgendes herausgefunden:

%Vor%

Und ich benutze es so:

%Vor%

Ist das der richtige Weg, um dieses Problem anzugehen? Gibt es irgendwelche Fallstricke, die mir bewusst sein sollten?

    
Jay Bazuzi 07.07.2013, 23:37
quelle

1 Antwort

1

Ihr Code wird gut funktionieren, ich denke, das ist ein vernünftiger Weg, um das Problem zu lösen.

Ein einfacherer Ansatz wäre, AsyncLock von Nito AsyncEx zu verwenden:

%Vor%     
svick 08.07.2013 01:39
quelle

Tags und Links