Maison > développement back-end > C++ > Obtenez et définissez la taille de la pile des propriétés du thread en langage C

Obtenez et définissez la taille de la pile des propriétés du thread en langage C

WBOY
Libérer: 2023-09-13 13:17:02
avant
899 Les gens l'ont consulté

Obtenez et définissez la taille de la pile des propriétés du thread en langage C

Pour obtenir et définir la taille de pile d'un attribut de thread en C, nous utilisons l'attribut de thread suivant :

pthread_attr_getstacksize()

est utilisé pour obtenir la taille de la pile de thread. L'attribut stacksize donne la taille minimale de pile allouée à la pile de threads. Renvoie 0 en cas d'exécution réussie, sinon renvoie n'importe quelle valeur.

Il accepte deux paramètres :

pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize)

  • Le premier paramètre est l'attribut pthread.
  • Le deuxième paramètre est la taille de l'attribut du fil.

pthread_attr_setstacksize()

est utilisé pour définir la nouvelle taille de la pile de threads. L'attribut stacksize donne la taille minimale de pile allouée à la pile de threads. Renvoie 0 en cas d'exécution réussie, sinon renvoie n'importe quelle valeur.

Il accepte deux paramètres :

pthread_attr_setstacksize(pthread_attr_t *attr, size_t *stacksize)

  • Le premier paramètre est l'attribut pthread.
  • Le deuxième paramètre est la nouvelle taille de la pile en octets.

Algorithme

Begin
   Declare stack size and declare pthread attribute a.
   Gets the current stacksize by pthread_attr_getstacksize() and print it.
   Set the new stack size by pthread_attr_setstacksize() and get the stack size pthread_attr_getstacksize() and print it.
End
Copier après la connexion

Exemple de code

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

int main() {
   size_t stacksize;
   pthread_attr_t a;
   pthread_attr_getstacksize(&a, &stacksize);
   printf("Current stack size = %d</p><p>", stacksize);
   pthread_attr_setstacksize(&a, 67626);
   pthread_attr_getstacksize(&a, &stacksize);
   printf("New stack size= %d</p><p>", stacksize);
   return 0;
}
Copier après la connexion

Sortie

Current stack size = 50
New stack size= 67626
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal