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.
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.
>#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
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!