Blokowanie się wątku

0

Witam mam taki w uproszczeniu wątek:

            if (delay > -1)
            {
                Thread.Sleep(delay);
            }
            // cos

delay <ort>wacha </ort>się od -1 do 1/2 i reguluje prędkość wykonywania wątku, zostawiłem możliwość wystąpienia 0 bo wykonuje się normalnie dłużej niż nic (przy -1) a krócej niż Sleep(1)
jednak wątek czasami losowo blokuje się po wykonaniu Sleep(0) - tj. na stałe już przechodzi w ThreadState WaitSleepJoin :/
Czy to bug czy może Sleep(0) zachowuje się jakoś inaczej niż instynkt podpowiada ?

0

A jest sens zatrzymywania czegokolwiek na 0 milisekund?
http://msdn.microsoft.com/en-us/library/d00bd51t.aspx
"Specify zero (0) to indicate that this thread should be suspended to allow other waiting threads to execute."

No i pamiętaj, że delay musi być podane w milisekundach, i jest to int, wartość 1/2 niezbyt tam pasuje.

0

1/2 znaczy 1, góra 2 ... :/ skrótów myślowych już nie można używać na tym forum ?

0

sens uśpienia na 0 ms napisałem wyżej, myślałem że zatrzymanie na 0 sekund spowoduje wywłaszczenie przez inne procesy i kontyunuowanie kodu tak szybko jak to możliwe

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