Colección de citas famosas - Slogan de motivación - Cómo crear hilos y usar lenguaje C

Cómo crear hilos y usar lenguaje C

1. Agregue archivos de encabezado relacionados con subprocesos: # include

2. La función de creación de subprocesos es la función pthread_create() y su prototipo es:

int? pthread_create(pthread_t?*thread, pthread_attr_t?*attr, void*?(*start_routine)(void*), void?* arg); 3. La función de salida del hilo es la función pthread_exit(), y el prototipo de esta función es :

¿Anulado? pthread_exit(void?* retval); El programa de muestra para crear un hilo es el siguiente:

/*

* *Descripción del programa: Utilice la función de creación de hilo pthread_create().

*/

#¿Contiene? & ltstdio.h & gt

#¿Contiene? & ltpthread.h & gt

¿#Contiene? & ltunistd.h & gt

#¿Incluir? & ltstdlib.h & gt

#¿Incluir? & ltstring.h & gt

//¿La función de imprimir el identificador

no es válida? print_ids(const?char?*str)

{

pid_t? pid//identificador de proceso

pthread_t? tid//Identificador del hilo

PID = getpid(); //Obtener el número del proceso

tid = pthread _ self(); //Obtener el número del hilo

printf("%s?pid:%u?tid:%u?(0x%x)\n ",

str, (unsigned? int)pid, (unsigned? int)tid , (sin firmar?int)tid);? //Imprimir el número de proceso y el número de hilo.

}

//Función de hilo

void*? pthread_func(void?*parameter)

{

print_ids("¿Nuevo? Tema:"); //Imprimir el nuevo número de hilo

¿Regresar? ((void *)0);

}

//Función principal

int? principal()

{

int? err

pthread_t? ntid//Número de hilo

err = pthread_create(& ntid, NULL, pthread_func, NULL); //Crear un hilo

If (uh?! =?0 )

{

printf("¿Crear? ¿Subproceso? Error: %s\n ", strerror(err));

Salir (-1);

}

print_ids("main? Thread:"); //Imprime el número del hilo principal

Sleep(2);

return? 0;

}