yinglai Ответов: 0

Как прервать делегирование в C#


мои коды следующие:

public delegate int DelegateFun(int a,int b);
DelegateFun dl = DataProcess; / / DataProcess - это функция обработки данных, и в ней есть блочная функция
int a = 3;
int b= 4;
дл.Метод BeginInvoke(а,б,нуль,нуль);

затем, как я заставляю прервать выполнение процесса обработки данных, чтобы он закончился?

заставляю ли я прерывать его как поток, используя поток.Прервать?

Что я уже пробовал:

я ищу решения в Сети, кто-то сказал,что функция делегата работает в threadpool, поэтому мы ее не контролируем.

Philippe Mori

Никогда так не делай. Если вам нужно прервать свой процесс, то реализуйте совместную остановку, каким-то образом сигнализируя процессу о завершении, а затем ждите, пока процесс не вернется.

SteveHolle

Вы можете использовать BackgroundWorker, который позволяет отмену.

0 Ответов