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änssnittskulturen 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 identifieraren för tråden. Kan hämtas från OS, men om OS-trådens identifierare överskrider int-gränserna kan trådens id:n krocka.
get_Name()Hämtar trådens namn.
get_ThreadState()Hämtar trådens tillstånd.
static GetCurrentThreadId()Hämtar identifieraren 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 behö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änssnittskulturen som används av tråden.
set_IsBackground(bool)Ställer in tråden som bakgrund eller förgrund.
set_Name(const System::String&)Ställer in trådens namn.
static Sleep(int)Stoppar den aktuella tråden i angivet tidsintervall.
static Sleep(TimeSpan)Stoppar den aktuella tråden i angivet tidsintervall.
static SpinWait(int)Väntar på ett specifikt antal loopiterationer.
Start()Startar tråd med null argumentobjekt.
Start(const System::SharedPtr<System::Object>&)Startar tråd.
Thread()Konstruktor.
Thread(ThreadStart)Konstruktor.
Thread(ParameterizedThreadStart)Konstruktor.
Thread(Thread&)Kopieringskonstruktor.
static Yield()Avbryter 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