Penso che chiunque abbia usato i Thread in un'applicazione si sia trovato prima o poi a testare la proprietà ThreadState. System.Threading.ThreadState é un'enumerazione di tipo Flag, infatti un Thread può trovarsi in più di uno stato contemporaneamente.Ad esempio un thread potrebbe essere in join (WaitSleepJoin) su un altro thread e contemporaneamente sospeso (Suspended) o SuspendedRequest, StopRequest, ecc. ecc.Il più naturale modo per testare lo stato di un Thread quindi sarebbe (secondo me):(myThread.ThreadState And ThreadState.StatoDesiderato) = ThreadState.StatoDesideratoGiusto, ma non vi venga mai in mente di testare in questo modo se é Running:(myThread.ThreadState And ThreadState.Running) = ThreadState.Runningperché questa riga di codice restituirà sempre...