Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

ας πουμε εχουμε αυτο

bool isWorkig = false;
async Task Foo()
{
while(isWorking) await Task.Delay(100);
isWorking = true;
DoThat();
DoThis();
isWorking = false;
}

Μπορουμε να δουμε ποσα call εχει η Foo; Και αν μπορουμε, μπορουμε να τα ακυρωσουμε;

 

Τι θελω να κανω. Αυτη η Foo εχει πολλα reference, το θεμα ειναι πως αν εκτελεστει μια φορα ενω εχει 10 call απο πισω, δεν θα χρειαστει να την ξαναεκτελεσω.

Δημοσ.
bool isWorkig = false;
async Task Foo()
{
if (isWorking) {
     while(isWorking) await Task.Delay(100);
     return;
}

isWorking = true;
DoThat();
DoThis();
isWorking = false;
}

Βάλε και κανένα lock για να την αλλάξεις και να τσεκάρεις την τιμή της όμως.

Δημοσ.
  if (isRouting)
            {
                if (isRoutingCallPedding)
                    return;
                isRoutingCallPedding = true;
                while (isRouting)
                    await Task.Delay(100);
            }
            isRoutingCallPedding = false;
            isRouting = true;

Κατι τετοιο ηθελα. Lock δεν βαζω για flag, απλα ενα volatile νομιζω πως ειναι οκ.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...