Wir haben begonnen, diesen Artikel zu implementieren, um eine neu generierte C -Datei zu erstellen. Diese Datei kann mit Ubuntus "Touch" -Bericht in ihrer Shell erstellt werden. Es ist ziemlich einfach, dies zu tun, da wir es in dem im angehängten Screenshot gezeigten Befehl gemacht haben. In Ubuntu gibt es mehrere integrierte Redakteure, um den C-Code einfach zu öffnen und zu bearbeiten. Wir haben den eingebauten Nano-Redakteur in einem Terminal von Ubuntu 20 verwendet.04 Verwenden des Schlüsselworts "Nano" in der Anweisung.
Beispiel 01:
Wir beginnen also unser erstes Beispiel für die Verwendung der Funktion pThread_self () im C -Code, um die „ID“ eines Threads in Ubuntu 20 zu erhalten.04. Wir haben den Code mit einfachen Headern initialisiert. Diese Header sind die Notwendigkeiten des C -Codes. Ohne diese Headers ist unser Code nicht nützlich, und wir können das erforderliche Ergebnis nicht erzielen können. Wir haben den Header „STDIO“ aufgenommen, um den Standard-Eingabe-Output in unseren Code zu nehmen. Die Standard -Bibliotheks -Headerdatei wird ebenfalls verwendet. In der Zwischenzeit ist die Haupt -Header -Datei "pThread", die für die Verwendung der Standard -POSIX -Threadbibliothek und deren Funktionen im C -Code aufgenommen wurde.
Nachdem die Bibliotheken eingeschlossen sind, haben wir die benutzerdefinierte Thread-Funktion mit dem Namen "Task" verwendet, um Zeigerverweis auf die "ID" eines in der Hauptfunktion erstellten Threads zu erhalten. Innerhalb dieser Aufgabenfunktion verwenden wir die Printf -Klausel, um eine Anweisung auszugeben, die zeigt, dass wir den Thread mit einer bestimmten ID ausführen."Der Thread" ID ", der durch die Verwendung der Funktion" pThread_self "in dieser Anweisung erhalten wurde.
Die Funktion „pThread_exit“ wird hier verwendet, um den erstellten Thread zu beenden und Null zur Hauptfunktion zurückzugeben, wie in der Klausel „Rückgabe“ der Funktion „Aufgabe“ gezeigt. Hier kommt der Hauptausführungscode einer Datei. Die Ausführung von C -Code wird immer aus seiner Haupt- () -Funktion initiiert. Die Funktion main () verwendet die Variable "pThread_t" von POSIX, um die ID eines Threads zu erhalten. Die einfache "printf". Danach ist die Funktion „pThread_create“ hier, um einen neuen Thread zu erstellen. Auf die Variable „Th“ wurde hier verwiesen, um diesen Thread anhand seiner ID zu identifizieren und Nullparameter zu erhalten. Die Funktion „Aufgaben“ wurde hier aufgerufen, um sie als Thread -Executer zu verwenden oder Informationen zur Thread -ID anzeigen. Die Aufgabenfunktion nimmt keine Argumente gemäß dem Null vor. Nachdem die Funktion „Aufgaben“ ausgeführt und zurückgegeben wurde, wird hier die Funktion pThread_join () verwendet. Der C -Code für pthread_self () ist abgeschlossen und in der Shell zusammengestellt.
Verwenden wir den GCC -Compiler, der bereits in unserem Ubuntu 20 installiert wurde.04 System. Ihr Code gibt ohne sie nicht das erforderliche Ding auf der Shell aus. Sie müssen also den „GCC“ -Kompiler bekommen. Die Zusammenstellung für pthread_self () ist enorm und wir sind bereit, den Code auszuführen. Der Auslaufcode wird als einzelner Schlüsselwort verwendet./A.out ”wie unten. Sie können sehen, dass die Hauptfunktion zuerst ausgeführt wurde und einen Thread erstellt hat. Durch diesen Thread wird die Funktion „Aufgabe“ aufgerufen und zeigt die Thread -ID in der Shell an. Die Aufgabenfunktion wurde abgeschlossen und der Main () -Thread wurde beendet. So funktioniert die Funktion „pThread_self“.
Beispiel 02:
Schauen wir uns eine weitere Illustration an, um einen Blick auf die Funktion "pThread_self ()" im C -Code zu werfen. Dafür werden wir das gleiche „Selbst selbst aktualisieren.c ”Datei, die gerade im obigen Beispiel verwendet wird. Wir werden die Datei in Ubuntus Herausgeber mit dem Namen „Nano“ öffnen, wie darunter gezeigt.
Der Code wird mit einigen Header wieder gestartet. Der Standard -Eingangsausgangsheader wird verwendet, um die Eingabe abzurufen und anzuzeigen. Die Bibliotheken „Unistd“ und „STDLib“ werden verwendet, um einige Standardfunktionen innerhalb des Code zu verwenden. Die "pThread" -Bibliothek ist hier ein Muss, um die Funktionen "POSIX" im Code zu verwenden. Wir haben die Anzahl der Threads mithilfe der "Threads" von POSIX im Code nach den Bibliotheken mit der Anweisung "if" und der Verwendung des Schlüsselworts "#define" definiert. Es wird verwendet, um die Anzahl der im Code verwendeten Threads auf nicht mehr als 3 zu beschränken. Nach der Erklärung der Threads haben wir die benutzerdefinierte Funktion „Anzeige“ des Zeigertyps verwendet. Diese Funktion nimmt das Argument „P“ des Zeigertyps an. Die lange Typ -Variable "ID" wird deklariert.
In der nächsten Zeile wird der Variablenwert des Referenzzeigers in den Typ „Long“ konvertiert und der Variablen -ID zugewiesen.In der Printf -Klausel wird die Thread -Nummer und die ID verwendet, um in der Shell mit "LD" und "lu" im Text angezeigt zu werden. Danach wurde der Thread beendet. Jetzt wird die main () -Funktion mit zwei Argumenten deklariert. Mit dem "pThread_t" werden die Liste "Th" mit einer Größe von 3 Threads mit bereits deklarierter "Threads" initialisiert. Dann wird eine ganzzahlige Variable „res“ deklariert und die „für“ -Schloop wurde gestartet. Es wird bis zu dreimal gelten und drei Threads werden mit der Funktion „pThread_create“ erstellt. Diese Funktion verwendet die IDs von drei Threads nacheinander nacheinander, und die Anzeigefunktion verwendet diese IDs als Argument zum Zeiger „P.”Wenn ein Fehler aufgrund der" Anzeige "-Methode aufgetreten ist, wird der Thread nicht erfolgreich abgeschlossen. Es wird den Fehler auf die Hauptfunktionen „Res“ -Variable zurückgeben. Wenn ein Fehler auftritt. Danach wird die IF -Aussage und das Programm gekündigt.
Jetzt ist es höchste Zeit, diesen C -Code im System zu speichern und zu kompilieren. Verwenden Sie zum Speichern „Strg+S“, während Sie im Herausgeber bleiben. Verwenden Sie "Strg+X", um den C -Code -Editor zu beenden. Nach dem Befehl „GCC“ -Kompilation gelang es, die Verwendung in der Hülle erfolgreich zu sein. Wir haben diesen Code mit dem "geführt"./A.OUT ”Anweisung und die Ausgabe zeigt die IDs von drei verschiedenen Threads nacheinander an.
Abschluss:
Dieser Artikel wurde die einfachen und unkompliziertesten Beispiele für die Verwendung der Funktion pThread_join () der POSIX -Bibliothek in C behandelt. Erstens haben wir die Verwendung der Funktion "pThread_join ()" in der C -Sprache erklärt. Danach haben wir einige der Beispiele besprochen, um die Arbeit im C -Programm zu veranschaulichen. Wir glauben, dass alle Beispiele bemerkenswert sind und leicht im Linux -Editor implementiert werden und auf der Shell ausgeführt werden können.