Heim > Backend-Entwicklung > C++ > 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

王林
Freigeben: 2023-09-17 21:49:03
nach vorne
1324 Leute haben es durchsucht

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);
}
Nach dem Login kopieren

Ausgabe

5741
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage