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()İş parçacığını durdurur. Uygulanmadı.
get_CurrentCulture()İş parçacığının kültürünü alır.
static get_CurrentThread()Mevcut iş parçacığını tanımlayan nesneyi alır.
get_CurrentUICulture()İş parçacığı tarafından kullanılan kullanıcı arabirimi kültürünü alır.
get_IsAlive()İş parçacığının hâlâ çalışıp çalışmadığını denetler.
get_IsBackground()İş parçacığının arka plan olup olmadığını denetler.
get_IsThreadPoolThread()İş parçacığının bir iş parçacığı havuzu tarafından sahiplenilip sahiplenilmediğini denetler.
get_ManagedThreadId() constİş parçacığının tanımlayıcısını alır. İşletim sisteminden elde edilebilir, ancak OS iş parçacığı tanımlayıcısı int sınırlarını aşarsa, iş parçacığı kimlikleri çakışabilir.
get_Name()İş parçacığının adını alır.
get_ThreadState()İş parçacığının durumunu alır.
static GetCurrentThreadId()Mevcut iş parçacığının tanımlayıcısını alır.
GetHashCode() const override
Interrupt()İş parçacığını kesintiye uğratır. Uygulanmadı.
Join()Yönetilen iş parçacığına katılır. Gerekirse sınırsız bekleme yapar.
Join(int)Yönetilen iş parçacığına katılır. Sınırlı bekleme yapar.
Join(TimeSpan)Yönetilen iş parçacığına katılır. Sınırlı bekleme yapar.
static MemoryBarrier()Bellek erişimini senkronize eder.
operator=(const Thread&)Farklı bir iş parçacığından TLS verilerini kopyalar.
set_CurrentCulture(const SharedPtr<Globalization::CultureInfo>&)İş parçacığının kültürünü ayarlar.
set_CurrentUICulture(const SharedPtr<Globalization::CultureInfo>&)İş parçacığı tarafından kullanılan kullanıcı arabirimi kültürünü ayarlar.
set_IsBackground(bool)İş parçacığını arka plan ya da ön plan olarak ayarlar.
set_Name(const System::String&)İş parçacığı adını ayarlar.
static Sleep(int)Mevcut iş parçacığını belirtilen zaman aşımı süresi kadar durdurur.
static Sleep(TimeSpan)Mevcut iş parçacığını belirtilen zaman aşımı süresi kadar durdurur.
static SpinWait(int)Belirli sayıda döngü yinelemesi için bekler.
Start()İş parçacığını null argüman nesnesi kullanarak başlatır.
Start(const System::SharedPtr<System::Object>&)İş parçacığını başlatır.
Thread()Yapıcı.
Thread(ThreadStart)Yapıcı.
Thread(ParameterizedThreadStart)Yapıcı.
Thread(Thread&)Kopya yapıcı.
static Yield()İş parçacığının yürütmesini bırakır.
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