Heim  >  Artikel  >  Backend-Entwicklung  >  In der Sprache C die maximale Anzahl von Threads, die in einem Prozess erstellt werden können

In der Sprache C die maximale Anzahl von Threads, die in einem Prozess erstellt werden können

王林
王林nach vorne
2023-09-17 21:49:031284Durchsuche

In der Sprache C die maximale Anzahl von Threads, die in einem Prozess erstellt werden können

Die gestellte Aufgabe besteht darin, die maximale Anzahl an Threads zu finden, die in einem Prozess erstellt werden können

C.

Threads sind leichtgewichtige Prozesse und können vom Scheduler unabhängig verwaltet werden. wegen einer Ein Thread ist eine Komponente eines Prozesses, daher können ihm mehrere Threads zugeordnet werden

Im Vergleich zu Prozessen sind Threads nicht nur einfacher zu handhaben, sondern erfordern auch weniger Zeit zum Wechseln des Kontexts.

Threads benötigen weniger Ressourcen als Prozesse und teilen sich außerdem den Speicher mit ihren Kollegen.

Faden. Alle Peer-Threads auf Benutzerebene werden vom Betriebssystem als eine einzige Aufgabe behandelt. weniger Ihre Entstehung und Beendigung braucht Zeit.

Jedes Mal, wenn Sie das Programm ausführen, ist die Ausgabe immer anders.

Die im folgenden Programm verwendete Methode ist wie folgt:

  • Erstellen Sie die Funktion void* create(void *) und lassen Sie sie leer, da sie nur zur Demonstration dient

  • Initialisieren Sie zwei Variablen vom Typ int, max = 0 und ret = 0, in der Funktion main() Speichern Sie die maximale Anzahl an Threads und den Rückgabewert separat.

  • Deklarieren Sie eine Variable „th“ vom Typ pthread_t.

  • Führen Sie die while-Schleife mit der Bedingung ret == 0 aus und platzieren Sie ret = pthread_create (&th, NULL, create, NULL);

  • Iterate max++ innerhalb der Schleife.

  • Maximal außerhalb der Schleife drucken.

    >

Beispiel

#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);
}

Ausgabe

5741

Das obige ist der detaillierte Inhalt vonIn der Sprache C die maximale Anzahl von Threads, die in einem Prozess erstellt werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen