System::Threading::Thread sınıfı

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

Yöntemler

YöntemAçıklama
Abort()Thread’i iptal eder. Henüz uygulanmadı.
get_CurrentCulture()Thread kültürünü alır.
static get_CurrentThread()Mevcut thread’i tanımlayan nesneyi alır.
get_CurrentUICulture()Thread tarafından kullanılan kullanıcı arayüzü kültürünü alır.
get_IsAlive()Thread’in hâlâ çalışıp çalışmadığını kontrol eder.
get_IsBackground()Thread’in arka plan olup olmadığını kontrol eder.
get_IsThreadPoolThread()Thread’in bir thread havuzu tarafından sahiplenilip sahiplenilmediğini kontrol eder.
get_ManagedThreadId() constThread kimliğini alır. OS’den alınabilir, ancak OS thread kimliği int sınırlarını aşarsa, thread kimlikleri çakışabilir.
get_Name()Thread adını alır.
get_ThreadState()Thread durumunu alır.
static GetCurrentThreadId()Mevcut thread’in kimliğini alır.
GetHashCode() const override
Interrupt()Thread’i kesintiye uğratır. Henüz uygulanmadı.
Join()Yönetilen thread’e katılır. Gerekirse sınırsız bekleme yapar.
Join(int)Yönetilen thread’e katılır. Sınırlı bekleme yapar.
Join(TimeSpan)Yönetilen thread’e katılır. Sınırlı bekleme yapar.
static MemoryBarrier()Bellek erişimini senkronize eder.
operator=(const Thread&)Farklı bir thread’ten TLS verilerini kopyalar.
set_CurrentCulture(const SharedPtr<Globalization::CultureInfo>&)Thread kültürünü ayarlar.
set_CurrentUICulture(const SharedPtr<Globalization::CultureInfo>&)Thread tarafından kullanılan kullanıcı arayüzü kültürünü ayarlar.
set_IsBackground(bool)Thread’i arka plan ya da ön plan olarak ayarlar.
set_Name(const System::String&)Thread adını ayarlar.
static Sleep(int)Mevcut thread’i belirtilen zaman aşımı süresi boyunca durdurur.
static Sleep(TimeSpan)Mevcut thread’i belirtilen zaman aşımı süresi boyunca durdurur.
static SpinWait(int)Belirli sayıda döngü yinelemesi için bekler.
Start()Thread’i null argüman nesnesiyle başlatır.
Start(const System::SharedPtr<System::Object>&)Thread’i başlatır.
Thread()Yapıcı.
Thread(ThreadStart)Yapıcı.
Thread(ParameterizedThreadStart)Yapıcı.
Thread(Thread&)Kopya yapıcı.
static Yield()İş parçacığı üretir.
virtual ~Thread()Yıkıcı.

Açıklamalar

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

Ayrıca Bakınız