Böyle bir süre kullanmak için kötü bir uygulama mı? Belki de Kronometre kullanmak daha iyidir, ya da belki bu çözümün bazı tuzakları vardır? Uygulama C# zaman aşımı
public void DoWork()
{
//do some preparation
DateTime startTime = DateTime.Now;
int rowsCount = 0;
int finalCount = getFinalCount();
do
{
Thread.Sleep(1000);
rowsCount = getRowsCount(); // gets rows count from database, rows are added by external app.
} while (rowsCount < finalCount && DateTime.Now - startTime < TimeSpan.FromMinutes(10));
}
ben bu yazıyı
Implement C# Generic Timeout, gördüm ama basit senaryolarda kullanmak çok karmaşık - Eğer parçacığı eşitleme hakkında düşünmek gerekir, doğru benzeri şekillerde iptal ya da değil ve etmektir.
Ne tam olarak bir zaman aşımı oluşturma ile yapmak istiyorsunuz? Bütün senaryonuzu anlatırsan, belki farklı bir yol kullanabiliriz. –
İlgili/çoğaltın: http://stackoverflow.com/questions/3195030/thread-timeout-in-c – RQDQ
Sadece bir süre sonra işi durdurmanız gerekiyor - işe başlayın, eğer 10 dakikadan fazla çalışırsa işi durdurun. Yöntemi çağıran iş parçacığı engellenebilir. – anderhil