La diferencia entre el pthread_t hilo y pid_t

ID del hilo significado
pthread_t Sólo, puede ser el mismo en diferentes procesos dentro del proceso.
pid_t , diferentes procesos únicos globales no son los mismos. Y el ciclo es un método de asignación incremental iniciar múltiples hilos dentro de un corto período de tiempo tendrá un ID del tema diferente.

Los procedimientos de ensayo son los siguientes:

#include <stdio.h>
#include <pthread.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/syscall.h>
#define gettid() syscall(__NR_gettid)
void* threadFunc(void *){
	pid_t  t = gettid();
	printf("gettid: %lx\n", t);
}

int main()
{
	pthread_t t1, t2;
	pthread_create(&t1, NULL, threadFunc, NULL);
	printf("%lx\n", t1);
	pthread_join(t1, NULL);
	
	pthread_create(&t2, NULL, threadFunc, NULL);
	printf("%lx\n", t2);
	pthread_join(t2, NULL);

    return 0;
}

Aquí Insertar imagen Descripción


Referencia "Linux programación del lado del servidor multi-roscado."

Publicado 92 artículos originales · ganado elogios 2 · Vistas 3411

Supongo que te gusta

Origin blog.csdn.net/zxc120389574/article/details/105201003
Recomendado
Clasificación