Потоки в C #. Непреодолимая задача - PullRequest
5 голосов
/ 11 августа 2009

В моей программе у меня есть очень длинное задание, которое должно прерываться из GUI (WPF). Какие-нибудь советы по архитектуре многопоточности?

Эта задача выглядит как N-нить с таким кодом:

public void DoLongOperation()
{
    for(int i=beginPoint; i<endPoint; i++)
    {
       doSomethingStupid(dataArray[i]);
    }
}

Ответы [ 3 ]

10 голосов
/ 11 августа 2009
0 голосов
/ 11 августа 2009

.Interrupt () в потоке - это не очень хороший способ, единственный хороший способ - использовать bool, как вы говорите в своем ответе.

0 голосов
/ 11 августа 2009

Что ж, вы можете проверить, нужно ли останавливать каждую итерацию цикла, проверяя bool. Или просто .interrupt () и обработайте исключение (если безопасно в любой момент убить его).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...