creando hilos en windows

Iniciado por tecnobyte, 15 Enero 2021, 19:26 PM

0 Miembros y 1 Visitante están viendo este tema.

tecnobyte

Tengo varias dudas con respecto a la creación de hilos en c, he estado viendo como crear hilos, pero siempre veo como usar los hilos en linux usando pthread, pero en windows, este no es compatible, se puede hacer un proceso para correr pthread, pero también he leído que la librería windows puede crear hilos pero solo busco ejemplos con pthread.

mi pregunta es ¿Cómo puedo crear hilos usando la libreria windows?, dejo un ejemplo de lo poco que pude recopilar


#include <stdio.h>
#include <windows.h>

DWORD WINAPI ThreadFunc(void* data) {
     printf("hola mundo\n");
     return 0;
}

int main() {
    DWORD identificador;
    HANDLE thread = CreateThread(
        NULL, // atributo de seguridad, por defecto es nulo
        0, // tamaño de pila use por defecto
        ThreadFunc, // nombre de la función que se usara para el hilo
        NULL, // argumentos que recibirá la función
        0,  // bandera de creación
        &identificador // retornar el identificador, donde lo guardara
    );

    printf("identificador del hilo: %p\n", identificador);
   
    if (thread) {
        // este if permite esperar el hilo para poder ejecutar proceso que lo requiera
        printf("dentro del if\n");
    }

    printf("hola a todos\n");
   
    printf("finalizo el hilo\n");
    CloseHandle(&identificador);
}



no se si esta correcto el código ya que no se exactamente como funciona.

MAFUS

Al igual que Linux tiene man, Microsoft tiene su propia documentación de su API. La de la función a que te refieres es la siguiente: https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createthread
Está bien explicada, sus parámetros, su valor de retorno, un ejemplo explicado...