Opprette og administrere tråder
Bruk POSIX-tråder (pthread) til å opprette og styre tråder i C.
Opprette og administrere tråder er en gratis leksjon i C Academy på CoddyKit. Dette er leksjon 2 av 3. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C Academy inneholder totalt 3 leksjoner.
Opprette og håndtere tråder
Ved flertråding oppretter vi flere tråder for å utføre oppgaver samtidig.
I denne leksjonen lærer De:
- Hvordan De oppretter flere tråder i C.
- Hvordan De venter på at tråder skal fullføre kjøringen.
- Hvordan De sender argumenter til tråder.

Opprette flere tråder
Vi bruker pthread_create() til å opprette flere tråder.
Syntaks:
pthread_create(&thread, NULL, function, argument);
Hver tråd kjører uavhengig, men deler minne med andre tråder.
Eksempel: Opprette flere tråder
Dette programmet oppretter flere tråder som kjører samtidig.
#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;
}Vente på at tråder skal bli ferdige
Bruk pthread_join() til å vente på at en tråd skal fullføre.
Syntaks:
pthread_join(thread, NULL);
Uten pthread_join() kan hovedtråden avsluttes før de andre trådene er ferdige.
Sende argumenter til tråder
Argumenter kan sendes til en trådfunksjon ved hjelp av en peker.
Eksempel:
pthread_create(&thread, NULL, function, (void*)&value);
Trådfunksjonen konverterer argumentet tilbake til den opprinnelige typen.
Eksempel: Sende argumenter til tråder
Dette programmet viser hvordan De sender argumenter til en trådfunksjon.
#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;
}Avslutte en tråd
Bruk pthread_exit() til å avslutte en tråd eksplisitt.
Eksempel:
pthread_exit(NULL);
Hovedfunksjonen bør også kalle pthread_exit() ved behov.
Beste praksis for håndtering av tråder
For å håndtere tråder effektivt:
- Bruk alltid
pthread_join()for å unngå for tidlig avslutning. - Send argumenter ved hjelp av pekere for å unngå datakorrupsjon.
- Begrens konflikter mellom delte ressurser.
Sammendrag
I denne leksjonen lærte De:
- Hvordan De oppretter flere tråder ved hjelp av
pthread_create(). - Hvordan De venter på tråder ved hjelp av
pthread_join(). - Hvordan De sender argumenter til tråder.
- Hvordan De avslutter en tråd på en trygg måte.
Deretter skal vi se nærmere på synkronisering og kappløpstilstander ved flertråding!

Lær deg C med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 39
- Leksjoner
- 144
Ofte stilte spørsmål
Er leksjonen «Opprette og administrere tråder» gratis?
Ja – hele teksten i «Opprette og administrere tråder» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av C Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i C Academy inneholder totalt 3 leksjoner.
Hva lærer jeg i «Opprette og administrere tråder»?
Bruk POSIX-tråder (pthread) til å opprette og styre tråder i C. Du øver på C Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med C Academy?
Ingen tidligere erfaring er nødvendig. C Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 3.
Hvor lang tid tar leksjonen «Opprette og administrere tråder»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne C Academy-leksjonen?
Ja. Alle C Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Introduksjon til tråder
- Opprette og administrere tråder
- Synkronisering og kappløpstilstander