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()Ermittelt die Kultur des Threads.
static get_CurrentThread()Ermittelt das Objekt, das den aktuellen Thread beschreibt.
get_CurrentUICulture()Ermittelt die von dem Thread verwendete Benutzeroberflächen‑Kultur.
get_IsAlive()Prüft, ob der Thread aktiv ist.
get_IsBackground()Prüft, ob der Thread im Hintergrund läuft.
get_IsThreadPoolThread()Prüft, ob der Thread von einem Thread‑Pool verwaltet wird.
get_ManagedThreadId() constErmittelt die Kennung des Threads. Kann vom Betriebssystem erhalten werden, aber wenn die Betriebssystem‑Thread‑Kennung die int‑Grenzen überschreitet, können sich Thread‑IDs überschneiden.
get_Name()Ermittelt den Namen des Threads.
get_ThreadState()Ermittelt den Zustand des Threads.
static GetCurrentThreadId()Ermittelt 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ächen‑Kultur.
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()Gibt den Thread frei.
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