Zniszczenie anulowani wątków!

0

Witam!

Tworze w petli watki o tak:

do
{
     thread1.Start();
     thread2.Start();

     ... jakies_instruklcje...
}
while
{
     jakiś_warunek
}

Oczywiście wcześniej zainicjowałem instancje klasy Thread:

Thread thread1 =  new Thread(jakas_metoda_do_wykonania_w_watku);
Thread thread2 =  new Thread(jakas_metoda_do_wykonania_w_watku);

Problem polega na tym że jak warunek jest spełniony to powtarza operacje i wysypuje program bo obydwa watki dalej dzialaja, a chciałbym je jakoś zniszczyć po wykoniu czynnosci w ciele petli do{} nastepnie dopiero sprawdzany bylby warunek i w razie koniecznosci jeszcze raz "odpalone" watki i prtzeliczane.

Czy jest jakas mozliwość na reczne "zabicie" watków?!

0

Źle się do tego zabierasz. Tworzenie nowych wątków jest mało wydajne. Zamiast tego lepiej raz odpal wątek, i dopiero w nim umieść swoją pętlę.

0

do
{
thread1.Start();
thread2.Start();

 ... jakies_instruklcje...
 thread1.Join();
 thread2.Join();

}
while
{
jakiś_warunek

}

Każdy z joinow musi być w trayu w razie gdyby już zdążyło się wykonać,

0

Co to jest za język? Nie znam takiej konstrukcji:

do
{
...
}
while
{
....
}

Jakaś nowa wersja C#?

1 użytkowników online, w tym zalogowanych: 0, gości: 1