En un proceso de Linux, cada hilo tiene su propia pila. Además de eso, ¿qué más es local para cada hilo? He leído cosas como la tabla de asignación de archivos, etc. ... ¿Puede alguien proporcionarme una lista de cosas que son específicas de un hilo y cómo se organizan en la memoria?Qué hay en un hilo al lado de una pila
segundo lugar, he notado que cuando asigno una pila para un hilo (Ver código de abajo), la dirección de la primera variable en la función del hilo es de alguna manera bastante bytes después de la dirección de pila que I asignados (stackAddr) . Creo que es porque la parte superior de la pila es la dirección final de la memoria de pila asignada, ya que la diferencia en el valor de la dirección de la variable local y la pila asignada es aproximadamente del tamaño de la pila (STACKSIZE). En otras palabras, parece que crece desde abajo hacia arriba.
pthread_attr_init(&attr[tid]);
stackAddr = malloc(STACKSIZE);
pthread_attr_setstack(&attr, stackAddr, STACKSIZE);
sí, la pila crece en la otra dirección, por lo que respondió a su propia pregunta. –
@yi_H, pero necesito que alguien responda la primera parte de mi pregunta: ¡p! – MetallicPriest