System::Threading::Thread класс

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

Методы

МетодОписание
Abort()Прерывает поток. Не реализовано.
get_CurrentCulture()Получает культуру потока.
static get_CurrentThread()Получает объект, описывающий текущий поток.
get_CurrentUICulture()Получает культуру пользовательского интерфейса, используемую потоком.
get_IsAlive()Проверяет, жив ли поток.
get_IsBackground()Проверяет, является ли поток фоновым.
get_IsThreadPoolThread()Проверяет, принадлежит ли поток пулу потоков.
get_ManagedThreadId() constПолучает идентификатор потока. Может быть получен из ОС, но если идентификатор потока ОС превышает пределы int, идентификаторы потоков могут пересекаться.
get_Name()Получает имя потока.
get_ThreadState()Получает состояние потока.
static GetCurrentThreadId()Получает идентификатор текущего потока.
GetHashCode() const override
Interrupt()Прерывает поток. Не реализовано.
Join()Ожидает завершения управляемого потока. При необходимости выполняет неограниченное ожидание.
Join(int)Ожидает завершения управляемого потока. Выполняет ограниченное ожидание.
Join(TimeSpan)Ожидает завершения управляемого потока. Выполняет ограниченное ожидание.
static MemoryBarrier()Синхронизирует доступ к памяти.
operator=(const Thread&)Копирует данные TLS из другого потока.
set_CurrentCulture(const SharedPtr<Globalization::CultureInfo>&)Устанавливает культуру потока.
set_CurrentUICulture(const SharedPtr<Globalization::CultureInfo>&)Устанавливает культуру пользовательского интерфейса, используемую потоком.
set_IsBackground(bool)Устанавливает поток в фоновый или передний режим.
set_Name(const System::String&)Устанавливает имя потока.
static Sleep(int)Останавливает текущий поток на указанный тайм-аут.
static Sleep(TimeSpan)Останавливает текущий поток на указанный тайм-аут.
static SpinWait(int)Ожидает определённое количество итераций цикла.
Start()Запускает поток, используя объект аргумента null.
Start(const System::SharedPtr<System::Object>&)Запускает поток.
Thread()Конструктор.
Thread(ThreadStart)Конструктор.
Thread(ParameterizedThreadStart)Конструктор.
Thread(Thread&)Конструктор копирования.
static Yield()Передаёт управление потоку.
virtual ~Thread()Деструктор.

Примечания

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

См. также