1. What is a Thread?
Definition:
A thread is a line of execution. A running program can have one or more threads that perform tasks.
Simple Example:
You’re listening to music on your computer (one thread) while reading something in your browser (another thread). Both are happening at the same time.
2. What is a Process?
Definition:
A process is an instance of a running program. When you run an app, it becomes a process.
Simple Example:
Opening the calculator is one process. Opening Notepad is another.
3. What is a Single-Threaded Process?
Definition:
A program where only one thread runs is called a single-threaded process.
Simple Example:
One person doing only one task at a time, like only cooking.
4. What is a Multi-Threaded Process?
Definition:
A program where multiple threads run simultaneously is called a multi-threaded process.
Simple Example:
One person cooking, listening to the radio, and talking on the phone — doing three tasks at once.
5. What is a Main Thread?
Definition:
The first thread that starts when a program runs is the main thread.
Simple Example:
A manager starts a task and then assigns parts to others — he is the main thread.
6. What is Thread Safety?
Definition:
If multiple threads can access or modify data without causing problems, it’s called thread-safe.
Simple Example:
Several people writing in a diary one by one — no conflicts occur.
7. What is a Race Condition?
Definition:
When multiple threads try to change the same data at the same time, causing unexpected results.
Simple Example:
Two people trying to write with the same pen at once — the writing gets messy.
8. What is a Deadlock?
Definition:
When two threads wait on each other’s resources and neither can continue, it’s a deadlock.
Simple Example:
Two people need each other’s keys but won’t give them up — both get stuck.
9. What is Concurrency?
Definition:
When multiple tasks start and progress alternately, that’s concurrency.
Simple Example:
You cook and also make tea, switching between the two.
10. What is Parallelism?
Definition:
When multiple tasks run exactly at the same time, it’s parallelism.
Simple Example:
One person is cooking while another is making tea — both tasks at once.
11. What is a Thread Pool?
Definition:
A collection of pre-created threads that can be reused instead of creating new ones each time.
Simple Example:
A restaurant has waiters on standby — ready when an order comes.
12. What is Context Switching?
Definition:
Switching from one thread to another by saving the current state and loading another’s state.
Simple Example:
You’re reading a book, get a phone call, talk, and then return to reading. That switch is context switching.
১. থ্রেড (Thread)
সংজ্ঞা:
থ্রেড হলো একটি কাজ চালানোর লাইন। কোনো প্রোগ্রাম চালু হলে সেই প্রোগ্রামে এক বা একাধিক থ্রেড থাকতে পারে যা কাজগুলো চালিয়ে নিয়ে যায়।
সহজ উদাহরণ:
আপনি কম্পিউটারে গান শুনছেন (একটা থ্রেড), একই সাথে ব্রাউজারে কিছু পড়ছেন (আরেকটা থ্রেড)। দুটো কাজ একসাথে হচ্ছে।
২. প্রসেস (Process)
সংজ্ঞা:
প্রসেস হলো একটি চালু প্রোগ্রাম। যখন আপনি কোনো অ্যাপ চালান, তখন সেটি একটি প্রসেস হিসেবে কাজ করে।
সহজ উদাহরণ:
আপনি যখন ক্যালকুলেটর ওপেন করেন, তখন সেটি একটি প্রসেস। আর যখন নোটপ্যাড চালান, সেটিও আরেকটি প্রসেস।
৩. সিঙ্গেল থ্রেডেড প্রসেস
সংজ্ঞা:
যে প্রোগ্রামে শুধু একটি থ্রেড কাজ করে তাকে সিঙ্গেল থ্রেডেড প্রসেস বলে।
সহজ উদাহরণ:
একজন মানুষ এক সময়ে একটি কাজ করছে — যেমন শুধু রান্না করছে, অন্য কিছু না।
৪. মাল্টিথ্রেডেড প্রসেস
সংজ্ঞা:
যে প্রোগ্রামে একাধিক থ্রেড একসাথে কাজ করে তাকে মাল্টিথ্রেডেড প্রসেস বলে।
সহজ উদাহরণ:
একজন মানুষ একই সময়ে রান্না করছে, রেডিও শুনছে, আর ফোনে কথা বলছে — তিনটা কাজ একসাথে করছে।
৫. মেইন থ্রেড (Main Thread)
সংজ্ঞা:
প্রোগ্রাম চালু হলে প্রথম যে থ্রেড শুরু হয়, তাকে মেইন থ্রেড বলে।
সহজ উদাহরণ:
কোনো কাজের শুরুতে একজন ম্যানেজার আসেন (মেইন থ্রেড), পরে তিনি অন্যদের (নতুন থ্রেড) ডেকে কাজ ভাগ করে দেন।
৬. থ্রেড সেফটি (Thread Safety)
সংজ্ঞা:
যদি একাধিক থ্রেড একসাথে কোনো ডাটা বা ফাংশনে কাজ করেও কোনো সমস্যা না হয়, তবে সেটিকে থ্রেড-সেফ বলা হয়।
সহজ উদাহরণ:
একটি ডায়েরিতে একাধিক মানুষ লিখছে, কিন্তু সবাই সময় নিয়ে লিখছে, তাই কিছু গণ্ডগোল হচ্ছে না।
৭. রেস কন্ডিশন (Race Condition)
সংজ্ঞা:
যখন একাধিক থ্রেড একই সময়ে একটি ডাটা পরিবর্তন করার চেষ্টা করে এবং এতে ভুল হয়, তখন সেটি রেস কন্ডিশন।
সহজ উদাহরণ:
দুজন একসাথে একই কলম দিয়ে লিখতে চাইলে লেখা বিগড়ে যায়।
৮. ডেডলক (Deadlock)
সংজ্ঞা:
যখন দুটি থ্রেড একে অপরের রিসোর্সের জন্য অপেক্ষা করে এবং কেউই কাজ করতে পারে না, তখন ডেডলক হয়।
সহজ উদাহরণ:
দুজন মানুষ একে অপরের কাছে চাবি চায়, কিন্তু কেউই ছাড়তে রাজি নয় — তাই দুজনেই আটকে যায়।
৯. কনকারেন্সি (Concurrency)
সংজ্ঞা:
যখন একাধিক কাজ একসাথে শুরু হয় এবং একটার পর একটা করে চলে, তখন তাকে কনকারেন্সি বলে।
সহজ উদাহরণ:
আপনি রান্না করছেন, মাঝে মাঝে চা বানাচ্ছেন — দুটো কাজই চলছে একসাথে, একটু একটু করে।
১০. প্যারালেলিজম (Parallelism)
সংজ্ঞা:
যখন একাধিক কাজ একই সময়ে একসাথে চলে, তখন তাকে প্যারালেলিজম বলে।
সহজ উদাহরণ:
একজন রান্না করছে, আরেকজন চা বানাচ্ছে — দুজন দুইটা কাজ করছে একসাথে।
১১. থ্রেড পুল (Thread Pool)
সংজ্ঞা:
একগুচ্ছ থ্রেড তৈরি করে রাখা হয় যাতে প্রয়োজনে সেগুলো ব্যবহার করা যায়, একবার একবার নতুন থ্রেড না বানাতে হয়।
সহজ উদাহরণ:
রেস্টুরেন্টে কিছু ওয়েটার standby থাকে, অর্ডার এলেই তাদের কাজে লাগানো হয়।
১২. কনটেক্সট সুইচিং (Context Switching)
সংজ্ঞা:
এক থ্রেড থেকে অন্য থ্রেডে যাওয়ার জন্য বর্তমান অবস্থা সংরক্ষণ করে নতুন থ্রেড চালু করাকে কনটেক্সট সুইচিং বলে।
সহজ উদাহরণ:
আপনি বই পড়ছিলেন, হঠাৎ ফোন এল — আপনি পড়া বন্ধ করে ফোনে কথা বললেন। পরে আবার পড়া শুরু করলেন। এই পরিবর্তনটাই কনটেক্সট সুইচিং।
I’m Md Ariful Haque Sajib, a Software Engineer, specializing in PHP, Laravel, Spring Boot, Vue.js, and React.js. With expertise in E-commerce, Payment Gateways, APIs, various Management and Finance-based software. I am passionate about 🧠 learning and delivering 🌟 high-quality solutions.
📌 Follow me for updates and insights:
🌐 GitHub: ArifulHaque313
🔗 LinkedIn: Md Ariful Haque Sajib
📧 Contact: asajib7654@gmail.com
📢 Hashtags:
Thread #MultiThreading #SingleThread #concurrency #DeadLock
ArifulHaqueSajib #arifulhaque313 #sajib
Hope this makes it more visually appealing! 😊