Feedback

C# - Timeout Method

Veröffentlicht von am 17.09.2012
(0 Bewertungen)
Eine Methode zum aufrufen eines Befehls mit Wartezeit in Millisekunden
private void runTimeOutAction<T>(double msTimeOut, Action act, ref T variableSet, T escapeValue)
{
        using (var bgWorker = new System.ComponentModel.BackgroundWorker())
        {
            // Umsetzung der Ausführung
            bgWorker.DoWork += (s, ev) => act();


            DateTime start = DateTime.Now;
            bgWorker.RunWorkerAsync();

            while ((DateTime.Now - start).TotalMilliseconds < msTimeOut)
            {
                // Zeitintervall des Wartens (25mal pro Sekunde)
                System.Threading.Thread.Sleep(40);
            }

            // Eine Variable die einen Abschließenden Wert haben soll
            variableSet = escapeValue;
        }
}

/*
// Aufruf wie in diesem Beispiel:
int hr = 1;
runTimeOutAction(500, () => Pause(), ref hr, 0);
*/
Abgelegt unter BackgroundWorker, Timeout, Method, Methode.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!