У меня есть следующий код:
void ThreadMethod()
{
Console.WriteLine("Thread..");
}
IAsyncResult actionResult;
Action a = new Action();
Thread t = new Thread(new ThreadStart(ThreadMethod));
actionResult = a.BeginInvoke(ActionCompleted, null);
t.Start();
void ActionCompleted(IAsyncResult ar)
{
if (ar.IsCompleted)
{
Console.WriteLine("Action finished");
t.Abort();
}
}
Как я могу остановить действие вручную?Например,
if (actionShouldBeStopped)
{
action.Stop(); // and ActionComplete should be run.
}
Другой вариант - изменить действие на поток, но тогда как оно должно выглядеть?Как я могу реализовать что-то вроде ActionCompleted для Thread?
Спасибо, Maestro