System::Threading::Thread klass

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

Metoder

MetodBeskrivning
Abort()Avbryter tråden. Inte implementerad.
get_CurrentCulture()Hämtar trådkultur.
static get_CurrentThread()Hämtar objekt som beskriver den aktuella tråden.
get_CurrentUICulture()Hämtar användargränssnittskultur som används av tråden.
get_IsAlive()Kontrollerar om tråden är levande.
get_IsBackground()Kontrollerar om tråden är i bakgrunden.
get_IsThreadPoolThread()Kontrollerar om tråden ägs av en trådpool.
get_ManagedThreadId() constHämtar identifierare för tråden. Kan erhållas från OS, men om OS‑trådens identifierare överskrider int‑gränserna kan trådens id:n korsa varandra.
get_Name()Hämtar trådens namn.
get_ThreadState()Hämtar trådens tillstånd.
static GetCurrentThreadId()Hämtar identifierare för den aktuella tråden.
GetHashCode() const override
Interrupt()Avbryt tråden. Inte implementerad.
Join()Väntar på hanterad tråd. Utför obegränsad väntan om det krävs.
Join(int)Väntar på hanterad tråd. Utför begränsad väntan.
Join(TimeSpan)Väntar på hanterad tråd. Utför begränsad väntan.
static MemoryBarrier()Synkroniserar minnesåtkomst.
operator=(const Thread&)Kopierar TLS‑data från en annan tråd.
set_CurrentCulture(const SharedPtr<Globalization::CultureInfo>&)Ställer in trådkultur.
set_CurrentUICulture(const SharedPtr<Globalization::CultureInfo>&)Ställer in användargränssnittskultur som används av tråden.
set_IsBackground(bool)Ställer in tråden till bakgrund eller förgrund.
set_Name(const System::String&)Ställer in trådens namn.
static Sleep(int)Stoppar aktuell tråd för angiven tidsgräns.
static Sleep(TimeSpan)Stoppar aktuell tråd för angiven tidsgräns.
static SpinWait(int)Väntar på ett specifikt antal loopiterationer.
Start()Startar tråden med ett null-argumentobjekt.
Start(const System::SharedPtr<System::Object>&)Startar tråden.
Thread()Konstruktor.
Thread(ThreadStart)Konstruktor.
Thread(ParameterizedThreadStart)Konstruktor.
Thread(Thread&)Kopieringskonstruktor.
static Yield()Yieldar tråden.
virtual ~Thread()Destruktor.

Anmärkningar

#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
*/

Se även