Thread.ThreadState Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu obsahující stavy aktuálního vlákna.
public:
property System::Threading::ThreadState ThreadState { System::Threading::ThreadState get(); };
public System.Threading.ThreadState ThreadState { get; }
member this.ThreadState : System.Threading.ThreadState
Public ReadOnly Property ThreadState As ThreadState
Hodnota vlastnosti
Jedna z ThreadState hodnot značících stav aktuálního vlákna. Počáteční hodnota je Unstarted .
Příklady
Následující příklad kódu ukazuje přístup k ThreadState
vláknu.
using namespace System;
using namespace System::Threading;
// ref class ApartmentTest
// {
// public:
static void ThreadMethod()
{
Thread::Sleep( 1000 );
// }
};
int main()
{
// Thread^ newThread = gcnew Thread( gcnew ThreadStart( &ApartmentTest::ThreadMethod ) );
Thread^ newThread = gcnew Thread( gcnew ThreadStart( &ThreadMethod ) );
Console::WriteLine("ThreadState: {0}", newThread->ThreadState);
newThread->Start();
// Wait for newThread to start and go to sleep.
Thread::Sleep(300);
Console::WriteLine("ThreadState: {0}", newThread->ThreadState);
// Wait for newThread to restart.
Thread::Sleep(1000);
Console::WriteLine("ThreadState: {0}", newThread->ThreadState);
}
// The example displays the following output:
// ThreadState: Unstarted
// ThreadState: WaitSleepJoin
// ThreadState: Stopped
using System;
using System.Threading;
class Example
{
static void Main()
{
Thread newThread =
new Thread(new ThreadStart(ThreadMethod));
Console.WriteLine("ThreadState: {0}", newThread.ThreadState);
newThread.Start();
// Wait for newThread to start and go to sleep.
Thread.Sleep(300);
Console.WriteLine("ThreadState: {0}", newThread.ThreadState);
// Wait for newThread to restart.
Thread.Sleep(1000);
Console.WriteLine("ThreadState: {0}", newThread.ThreadState);
}
static void ThreadMethod()
{
Thread.Sleep(1000);
}
}
// The example displays the following output:
// ThreadState: Unstarted
// ThreadState: WaitSleepJoin
// ThreadState: Stopped
Imports System.Threading
Public Module Example
Public Sub Main()
Dim newThread As Thread = New Thread(AddressOf ThreadMethod)
Console.WriteLine("ThreadState: {0}", newThread.ThreadState)
newThread.Start()
' Wait for newThread to start and go to sleep.
Thread.Sleep(300)
Console.WriteLine("ThreadState: {0}", newThread.ThreadState)
' Wait for newThread to restart.
Thread.Sleep(1000)
Console.WriteLine("ThreadState: {0}", newThread.ThreadState)
End Sub
Sub ThreadMethod()
Thread.Sleep(1000)
End Sub
End Module
' The example displays the following output:
' ThreadState: Unstarted
' ThreadState: WaitSleepJoin
' ThreadState: Stopped
Poznámky
ThreadStateVlastnost poskytuje konkrétnější informace než IsAlive vlastnost.
Důležité
Stav vlákna je pouze v zájmu ve scénářích ladění. Váš kód by nikdy neměl používat stav vlákna k synchronizaci aktivit vláken.