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

MethodeBeschrijving
Abort()Breekt thread af. Niet geïmplementeerd.
get_CurrentCulture()Haalt de thread‑cultuur op.
static get_CurrentThread()Haalt het object op dat de huidige thread beschrijft.
get_CurrentUICulture()Haalt de gebruikersinterface‑cultuur op die door de thread wordt gebruikt.
get_IsAlive()Controleert of de thread actief is.
get_IsBackground()Controleert of de thread op de achtergrond draait.
get_IsThreadPoolThread()Controleert of de thread eigendom is van een thread‑pool.
get_ManagedThreadId() constHaalt de identifier van de thread op. Kan van het OS worden verkregen, maar als de OS‑thread‑identifier de int‑limieten overschrijdt, kunnen thread‑ids overlappen.
get_Name()Haalt de thread‑naam op.
get_ThreadState()Haalt de thread‑status op.
static GetCurrentThreadId()Haalt de identifier van de huidige thread op.
GetHashCode() const override
Interrupt()Onderbreekt thread. Niet geïmplementeerd.
Join()Voegt zich bij een beheerde thread. Voert onbeperkt wachten uit indien nodig.
Join(int)Voegt zich bij een beheerde thread. Voert beperkt wachten uit.
Join(TimeSpan)Voegt zich bij een beheerde thread. Voert beperkt wachten uit.
static MemoryBarrier()Synchroniseert geheugen‑toegang.
operator=(const Thread&)Kopieert TLS‑gegevens van een andere thread.
set_CurrentCulture(const SharedPtr<Globalization::CultureInfo>&)Stelt de thread‑cultuur in.
set_CurrentUICulture(const SharedPtr<Globalization::CultureInfo>&)Stelt de gebruikersinterface‑cultuur in die door de thread wordt gebruikt.
set_IsBackground(bool)Stelt de thread in op achtergrond of voorgrond.
set_Name(const System::String&)Stelt de threadnaam in.
static Sleep(int)Stopt de huidige thread voor de opgegeven time-out.
static Sleep(TimeSpan)Stopt de huidige thread voor de opgegeven time-out.
static SpinWait(int)Wacht op een specifiek aantal lusiteraties.
Start()Start thread met een null-argumentobject.
Start(const System::SharedPtr<System::Object>&)Start thread.
Thread()Constructor.
Thread(ThreadStart)Constructor.
Thread(ParameterizedThreadStart)Constructor.
Thread(Thread&)Copy-constructor.
static Yield()Geeft de thread vrij.
virtual ~Thread()Destructor.

Opmerkingen

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

Zie ook