থ্রেড হচ্ছে একটি প্রোগ্রামের ছোটতম একক কার্যপ্রবাহ (unit of execution)।
একটি প্রোগ্রাম একসাথে একাধিক কাজ করতে চাইলে, তাকে ছোট ছোট অংশে ভাগ করে প্রতিটি অংশ আলাদা আলাদা Thread হিসেবে চালানো যায়।
একে মাল্টি-থ্রেডিং (Multithreading) বলে।
Thread হচ্ছে:
একটি প্রোগ্রামের ভিতরে একটি ছোট সাব-প্রোগ্রাম
যেটা স্বতন্ত্রভাবে চলে, কিন্তু প্রোগ্রামের অন্য অংশের সাথে শেয়ার করে একই মেমোরি এবং রিসোর্স।
উদাহরণ:
একটি বড় সফটওয়্যার যেখানে:
একদিকে ইউজারের ইনপুট নিচ্ছে
একদিকে ফাইল ডাউনলোড হচ্ছে
অন্যদিকে স্ক্রিনে অ্যানিমেশন দেখাচ্ছে
এই তিনটি কাজ আলাদা তিনটি থ্রেডে চলতে পারে।
বিষয় | ব্যাখ্যা |
---|---|
Memory Sharing | একই প্রোগ্রামের সব থ্রেড একই মেমোরি স্পেস শেয়ার করে |
Independency | এক থ্রেডের কাজ অন্য থ্রেডের উপর সরাসরি নির্ভরশীল না |
Lightweight | প্রসেসের (process) তুলনায় অনেক হালকা |
Concurrency | একাধিক কাজ একসাথে করতে পারা |
মাল্টি-টাস্কিং:
একই সময় একাধিক কাজ চালানোর জন্য।
পারফরম্যান্স বাড়ানোর জন্য:
CPU কে সর্বোচ্চ ব্যবহার করার জন্য।
Responsive Application:
ইউজার ইন্টারফেস যেন হ্যাং না হয়।
ভাষা | থ্রেডের জন্য ক্লাস/পদ্ধতি |
---|---|
Java | Thread class, Runnable interface |
C++ | <thread> লাইব্রেরি (C++11 থেকে) |
Python | threading module |
C# | System.Threading namespace |
class MyThread extends Thread {
public void run() {
System.out.println("Thread is running...");
}
public static void main(String[] args) {
MyThread t = new MyThread();
t.start();
}
}
#include <iostream>
#include <thread>
using namespace std;
void task() {
cout << "Thread is running..." << endl;
}
int main() {
thread t(task);
t.join();
return 0;
}
Thread = একটি প্রোগ্রামের আলাদা চলমান অংশ,
যেটা অন্য কাজের সাথে একসাথে চলতে পারে।
0 Comments