System::Threading::Thread Klasse

Thread class

Thread implementation. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

class Thread : public System::Object

Methoden

MethodeBeschreibung
Abort()Bricht den Thread ab. Nicht implementiert.
get_CurrentCulture()Liefert die Thread-Kultur.
static get_CurrentThread()Liefert das Objekt, das den aktuellen Thread beschreibt.
get_CurrentUICulture()Liefert die vom Thread verwendete Benutzeroberflächenkultur.
get_IsAlive()Überprüft, ob der Thread aktiv ist.
get_IsBackground()Überprüft, ob der Thread im Hintergrund läuft.
get_IsThreadPoolThread()Überprüft, ob der Thread von einem Thread-Pool verwaltet wird.
get_ManagedThreadId() constLiefert die Kennung des Threads. Kann vom Betriebssystem erhalten werden, aber wenn die OS-Thread-Kennung die int-Grenzen überschreitet, können Thread-IDs kollidieren.
get_Name()Liefert den Thread-Namen.
get_ThreadState()Liefert den Thread-Zustand.
static GetCurrentThreadId()Liefert die Kennung des aktuellen Threads.
GetHashCode() const override
Interrupt()Unterbricht den Thread. Nicht implementiert.
Join()Wartet auf den verwalteten Thread. Führt bei Bedarf unbegrenztes Warten aus.
Join(int)Wartet auf den verwalteten Thread. Führt begrenztes Warten aus.
Join(TimeSpan)Wartet auf den verwalteten Thread. Führt begrenztes Warten aus.
static MemoryBarrier()Synchronisiert den Speicherzugriff.
operator=(const Thread&)Kopiert TLS-Daten von einem anderen Thread.
set_CurrentCulture(const SharedPtr<Globalization::CultureInfo>&)Setzt die Thread-Kultur.
set_CurrentUICulture(const SharedPtr<Globalization::CultureInfo>&)Setzt die vom Thread verwendete Benutzeroberflächenkultur.
set_IsBackground(bool)Setzt den Thread in den Hintergrund oder Vordergrund.
set_Name(const System::String&)Setzt den Thread-Namen.
static Sleep(int)Stoppt den aktuellen Thread für die angegebene Zeitüberschreitung.
static Sleep(TimeSpan)Stoppt den aktuellen Thread für die angegebene Zeitüberschreitung.
static SpinWait(int)Wartet auf eine bestimmte Anzahl von Schleifendurchläufen.
Start()Startet den Thread mit einem Null-Argumentobjekt.
Start(const System::SharedPtr<System::Object>&)Startet den Thread.
Thread()Konstruktor.
Thread(ThreadStart)Konstruktor.
Thread(ParameterizedThreadStart)Konstruktor.
Thread(Thread&)Kopierkonstruktor.
static Yield()Erzeugt Thread.
virtual ~Thread()Destruktor.

Hinweise

#include "system/threading/thread.h"
#include "system/smart_ptr.h"

int main()
{
  auto thread = System::MakeObject<System::Threading::Thread>([]()
  {
    std::cout << "Child thread ID: " << System::Threading::Thread::GetCurrentThreadId() << std::endl;
    System::Threading::Thread::Sleep(200);
  });

  std::cout << "Main thread ID: " << System::Threading::Thread::GetCurrentThreadId() << std::endl;

  thread->Start();
  thread->Join();

  return 0;
}
/*
This code example produces the following output:
Main thread ID: 2
Child thread ID: 1
*/

Siehe auch