Clase 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

Métodos

MétodoDescripción
Abort()Abortar hilo. No implementado.
get_CurrentCulture()Obtiene la cultura del hilo.
static get_CurrentThread()Obtiene el objeto que describe el hilo actual.
get_CurrentUICulture()Obtiene la cultura de la interfaz de usuario utilizada por el hilo.
get_IsAlive()Comprueba si el hilo está activo.
get_IsBackground()Comprueba si el hilo es en segundo plano.
get_IsThreadPoolThread()Comprueba si el hilo pertenece a un grupo de hilos.
get_ManagedThreadId() constObtiene el identificador del hilo. Puede obtenerse del SO, pero si el identificador del hilo del SO supera los límites de int, los IDs de los hilos pueden intersectarse.
get_Name()Obtiene el nombre del hilo.
get_ThreadState()Obtiene el estado del hilo.
static GetCurrentThreadId()Obtiene el identificador del hilo actual.
GetHashCode() const override
Interrupt()Interrumpir hilo. No implementado.
Join()Une el hilo administrado. Realiza una espera ilimitada si es necesario.
Join(int)Une el hilo administrado. Realiza una espera limitada.
Join(TimeSpan)Une el hilo administrado. Realiza una espera limitada.
static MemoryBarrier()Sincroniza el acceso a la memoria.
operator=(const Thread&)Copia datos TLS de un hilo diferente.
set_CurrentCulture(const SharedPtr<Globalization::CultureInfo>&)Establece la cultura del hilo.
set_CurrentUICulture(const SharedPtr<Globalization::CultureInfo>&)Establece la cultura de la interfaz de usuario utilizada por el hilo.
set_IsBackground(bool)Establece el hilo en segundo plano o en primer plano.
set_Name(const System::String&)Establece el nombre del hilo.
static Sleep(int)Detiene el hilo actual durante el tiempo de espera especificado.
static Sleep(TimeSpan)Detiene el hilo actual durante el tiempo de espera especificado.
static SpinWait(int)Espera un número específico de iteraciones del bucle.
Start()Inicia el hilo usando un objeto de argumento nulo.
Start(const System::SharedPtr<System::Object>&)Inicia el hilo.
Thread()Constructor.
Thread(ThreadStart)Constructor.
Thread(ParameterizedThreadStart)Constructor.
Thread(Thread&)Constructor de copia.
static Yield()Cede el hilo.
virtual ~Thread()Destructor.

Observaciones

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

Ver también