Teknoloji

C - Multi Threads(Çoklu İş Parçacığı)

C programlama dili, birden fazla işlemi aynı anda yürütmek için çoklu iş parçacığı (multi-threading) desteği sunar. Multi-threading, programın verimliliğini artırabilir ve aynı anda birden fazla işlemi gerçekleştirebilir.

Aşağıdaki C kodu multi-thread kullanarak bir metin dosyasının satır sayısını hesaplar:

Pvp Serverlarına Göz Atın!

Daha Fazla
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

#define NUM_THREADS 4

void *count_lines(void *filename) {
    char *file = (char *)filename;
    FILE *fp = fopen(file, "r");
    if (fp == NULL) {
        printf("Error opening file.\n");
        pthread_exit(NULL);
    }

    int count = 0;
    char c;
    while ((c = fgetc(fp)) != EOF) {
        if (c == '\n') {
            count++;
        }
    }

    printf("%s: %d lines\n", file, count);

    fclose(fp);
    pthread_exit(NULL);
}

int main(int argc, char *argv[]) {
    pthread_t threads[NUM_THREADS];
    int i;

    if (argc < 2) {
        printf("Usage: %s file1 file2 file3 ...\n", argv[0]);
        exit(1);
    }

    for (i = 0; i < argc - 1 && i < NUM_THREADS; i++) {
        pthread_create(&threads[i], NULL, count_lines, (void *)argv[i+1]);
    }

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

    return 0;
}

Pvp Oyun Serverlarına Göz Atın!

Daha Fazla

Bu programda, count_lines() fonksiyonu, bir dosyadaki satır sayısını hesaplar. main() fonksiyonu, her bir dosya için bir iş parçacığı oluşturur ve pthread_create() fonksiyonu ile bu iş parçacıklarını başlatır. Daha sonra, pthread_join() fonksiyonu ile tüm iş parçacıklarının tamamlanmasını bekler ve sonuçları ekrana yazdırır.

Not: Bu sadece bir örnektir ve çoklu iş parçacığı programlama için daha gelişmiş teknikler de mevcuttur.

Pvp Oyun Serverlarına Göz Atın!

Daha Fazla

Yorumlar

Yorum Yapın

Nedese

Nedese Panel

Ücretsiz denemeye başlamak için kullanıcı yönetim paneline gitmeniz yeterli. İhtiyaçlarınıza uygun araçlarımızla süreçlerinizi kolaylaştırın ve verimliliğinizi artırın!

Ücretsiz Denemeye Başla
NedeseAI