0Pricing
C Academy · Lektion

Threads erstellen und verwalten

Verwenden Sie POSIX-Threads (pthread), um Threads in C zu erstellen und zu steuern.

Threads erstellen und verwalten ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.

Threads erstellen und verwalten

Threads erstellen und verwalten

Beim Multithreading erstellen wir mehrere Threads, um Aufgaben nebenläufig auszuführen.

In dieser Lektion lernen Sie:

  • Wie Sie mehrere Threads in C erstellen.
  • Wie Sie auf das Ende der Ausführung von Threads warten.
  • Wie Sie Argumente an Threads übergeben.
Threads erstellen und verwalten — Illustration 1

Mehrere Threads erstellen

Mehrere Threads erstellen

Mit pthread_create() erstellen wir mehrere Threads.

Syntax:

pthread_create(&thread, NULL, function, argument);

Jeder Thread läuft unabhängig, verwendet aber gemeinsam mit anderen Threads den Speicher.

Beispiel: Mehrere Threads erstellen

Beispiel: Mehrere Threads erstellen

Dieses Programm erstellt mehrere Threads, die gleichzeitig ausgeführt werden.

#include <stdio.h>
#include <pthread.h>

void *printMessage(void *arg) {
    printf("Thread %d: Hello from thread!\n", *(int*)arg);
    return NULL;
}

int main() {
    pthread_t threads[3];
    int thread_ids[3] = {1, 2, 3};

    for (int i = 0; i < 3; i++) {
        pthread_create(&threads[i], NULL, printMessage, &thread_ids[i]);
    }

    for (int i = 0; i < 3; i++) {
        pthread_join(threads[i], NULL);
    }
    return 0;
}

Auf das Ende von Threads warten

Auf das Ende von Threads warten

Verwenden Sie pthread_join(), um zu warten, bis ein Thread seine Ausführung beendet hat.

Syntax:

pthread_join(thread, NULL);

Ohne pthread_join() wird der Haupt-Thread möglicherweise beendet, bevor die anderen Threads fertig sind.

Argumente an Threads übergeben

Argumente an Threads übergeben

Argumente können mithilfe eines Zeigers an eine Thread-Funktion übergeben werden.

Beispiel:

pthread_create(&thread, NULL, function, (void*)&value);

Die Thread-Funktion wandelt das Argument wieder in seinen ursprünglichen Typ um.

Beispiel: Argumente an Threads übergeben

Beispiel: Argumente an Threads übergeben

Dieses Programm zeigt, wie Argumente an eine Thread-Funktion übergeben werden.

#include <stdio.h>
#include <pthread.h>

void *printNumber(void *arg) {
    int num = *(int*)arg;
    printf("Thread received number: %d\n", num);
    return NULL;
}

int main() {
    pthread_t thread;
    int value = 10;
    pthread_create(&thread, NULL, printNumber, &value);
    pthread_join(thread, NULL);
    return 0;
}

Einen Thread beenden

Einen Thread beenden

Verwenden Sie pthread_exit(), um einen Thread ausdrücklich zu beenden.

Beispiel:

pthread_exit(NULL);

Bei Bedarf sollte auch die Hauptfunktion pthread_exit() aufrufen.

Bewährte Vorgehensweisen zur Verwaltung von Threads

Bewährte Vorgehensweisen zur Verwaltung von Threads

Für eine effiziente Verwaltung von Threads:

  • Verwenden Sie immer pthread_join(), um eine vorzeitige Beendigung zu vermeiden.
  • Übergeben Sie Argumente mithilfe von Zeigern, um Datenbeschädigungen zu vermeiden.
  • Minimieren Sie Konflikte beim Zugriff auf gemeinsam genutzte Ressourcen.

Zusammenfassung

Zusammenfassung

In dieser Lektion haben Sie Folgendes gelernt:

  • Wie Sie mithilfe von pthread_create() mehrere Threads erstellen.
  • Wie Sie mithilfe von pthread_join() auf Threads warten.
  • Wie Sie Argumente an Threads übergeben.
  • Wie Sie einen Thread sicher beenden.

Als Nächstes sehen wir uns Synchronisierung und Race Conditions beim Multithreading an.

Threads erstellen und verwalten — Illustration 10

Häufig gestellte Fragen

Ist die Lektion „Threads erstellen und verwalten“ kostenlos?

Ja — der vollständige Text von „Threads erstellen und verwalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Threads erstellen und verwalten“?

Verwenden Sie POSIX-Threads (pthread), um Threads in C zu erstellen und zu steuern. Du übst C Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C Academy zu starten?

Keine Vorkenntnisse erforderlich. C Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.

Wie lange dauert die Lektion „Threads erstellen und verwalten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C Academy-Lektion Code schreiben und ausführen?

Ja. Jede C Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Einführung in Threads
  2. Threads erstellen und verwalten
  3. Synchronisierung und Race Conditions
← Zurück zu C Academy