Categories: ASP.NET

Как запускать поток и ограничивать его по времени

Решение:

public static int outputResult = 10;
public static int functionParameter = 20;

public void Main()
{
outputResult = 1;
Thread newThread = new Thread(new ThreadStart(TestMethod));
newThread.Start();

long duration = 3000;
var sw = new Stopwatch();
sw.Start();
while (true)
{
if (sw.ElapsedMilliseconds > duration) {
sw.Stop(); break;
}
}
newThread.Abort("Information from Main.");
// Wait for the thread to terminate.
newThread.Join();
}

static void TestMethod()
{
try
{
outputResult = functionParameter + 1000;
while (true)
{
Console.WriteLine("New thread running.");
Thread.Sleep(1000);
break;
}
}
catch (ThreadAbortException abortException)
{
Console.WriteLine((string)abortException.ExceptionState);
}

 

Руслан Раянов

Recent Posts

Форма теста внешних действий #falconstart

Вызов внешних действий - это возможность действия, выходящего за рамки возможности работы с БД через…

4 недели ago

Концепция внешних действий – telegram, email, уведомления на сайте

Вызов внешних действий - это возможность действия, выходящего за рамки возможности работы с БД через…

1 месяц ago

Работа с JSON в SQL #falconstart

После выполнения действий в SQL на клиенте иногда возникает необходимость что-то обновить или сделать. Для…

1 месяц ago

Форма с отправкой запроса API. Тестирование исходящих запросов #falconstart

Вы можете обратиться к внешним API через использование Внешних действий (код apirequest, использование описано в…

1 месяц ago

Таблица Trace для отслеживания событий на сайте

В системной таблице as_trace хранятся данные по работе приложения. Поле code определяет тип события: DBLREQ…

1 месяц ago

Работа с ошибками в системе. Генерация отчета по ошибкам #falconstart

Рассмотрим механизм анализа ошибок, как это всё работает, и как его использовать. Когда происходит ошибка…

1 месяц ago