কম্পিউটার টিউটোরিয়াল

C-এ মাল্টিথ্রেডিং ব্যবহার করে লিনিয়ার সার্চ (Linear Search with Multi-threading)


মাল্টিথ্রেডিং ব্যবহার করে অ্যারেতে একটি এলিমেন্ট সার্চ করার পদ্ধতি। অ্যারেটি বিভিন্ন parçায় ভাগ করে প্রতিটি থ্রেড আলাদা অংশে সার্চ করে। এলিমেন্ট পাওয়া গেলে ফ্ল্যাগ সেট করা হয়।

উদাহরণ কোড

#include <stdio.h>
#include <pthread.h>
#define MAX 16
#define THREAD_MAX 4

int array[MAX] = {1, 5, 7, 10, 12, 14, 15, 18, 20, 22, 25, 27, 30, 64, 110, 220};
int key = 18;
int flag = 0;
int current_thread = 0;

void* ThreadSearch(void* args) {
    int num = current_thread++;
    for (int i = num * (MAX / 4); i < ((num + 1) * (MAX / 4)); i++) {
        if (array[i] == key)
            flag = 1;
    }
    return NULL;
}

int main() {
    pthread_t thread[THREAD_MAX];
    for (int i = 0; i < THREAD_MAX; i++)
        pthread_create(&thread[i], NULL, ThreadSearch, NULL);
    for (int i = 0; i < THREAD_MAX; i++)
        pthread_join(thread[i], NULL);
    if (flag == 1)
        printf("Key element is found\n");
    else
        printf("Key element is not present\n");
    return 0;
}

আউটপুট

$ gcc 1249.Thread_search.cpp -lpthread
$ ./a.out
Key element is found

  1. অপ্টিমাল বাইনারি সার্চ ট্রি (Optimal Binary Search Tree)

  2. C ভাষায় লিনিয়ার সার্চ ব্যবহার করে অ্যারেতে ন্যূনতম এলিমেন্ট খুঁজে বের করার পদ্ধতি

  3. পাইথনে লিনিয়ার সার্চ প্রোগ্রাম

  4. পাইথনে PyTorch ব্যবহার করে লিনিয়ার রিগ্রেশন