¿Es una mala práctica utilizar dicho ciclo while? Tal vez es mejor usar el cronómetro, o tal vez esta solución tiene algunos escollos?Implemente el tiempo de espera de C#
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));
}
vi este artículo Implement C# Generic Timeout, pero es demasiado complejo para su uso en escenarios simples - es necesario pensar acerca de sincronización de hilos, que es adecuada para abortar o no y así sucesivamente.
¿Qué desea hacer con la Creación de un tiempo de espera exactamente? Si le dices a tu escenario completo, tal vez podamos ofrecer una forma diferente de usarlo. –
Relacionado/duplicado: http://stackoverflow.com/questions/3195030/thread-timeout-in-c – RQDQ
Solo tiene que dejar de trabajar después de un período de tiempo - comience a trabajar, si se ejecuta más de 10 minutos interrumpa el trabajo. El hilo que llama al método puede ser bloqueado. – anderhil