Maison > Article > développement back-end > En langage C, le nombre maximum de threads pouvant être créés dans un processus
La tâche confiée est de trouver le nombre maximum de threads pouvant être créés dans un processus
C.Les threads sont des processus légers et peuvent être gérés indépendamment par le planificateur. à cause d'un Un thread est un composant d'un processus, plusieurs threads peuvent donc lui être associés
Par rapport aux processus, les threads sont non seulement plus légers à gérer, mais nécessitent également moins de temps pour changer de contexte.
Les threads nécessitent moins de ressources que les processus et partagent également de la mémoire avec leurs pairs.
fil de discussion. Tous les threads homologues au niveau utilisateur sont traités comme une tâche unique par le système d'exploitation. moins Leur création et leur cessation prennent du temps.Chaque fois que vous exécutez le programme, le résultat est toujours différent.
Créez la fonction void* create(void *) et laissez-la vide car ce n'est qu'à titre de démonstration
Initialisez deux variables de type int max = 0 et ret = 0 dans la fonction main() Stockez le nombre maximum de threads et la valeur de retour séparément.
Déclarez une variable "th" de type pthread_t.
Exécutez la boucle while avec la condition ret == 0 et placez ret = pthread_create (&th, NULL, créer, NULL);
Itérer max++ à l'intérieur de la boucle.
Imprimez au maximum en dehors de la boucle.
>#include<pthread.h> #include<stdio.h> /*Leave the function empty as it only demonstrates work of thread*/ void *create ( void *){ } //main function int main(){ int max = 0, ret = 0; pthread_t th; //Iterate until 0 is returned while (ret == 0){ ret = pthread_create (&th, NULL, create, NULL); max++; } printf(" %d ", max); }
5741
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!