এই পোস্টে আমরা Thread ক্লাস এবং Runnable ইন্টারফেসের পার্থক্য বুঝব।
Thread
- এটি একটি ক্লাস।
- থ্রেড তৈরি করতে এটি ব্যবহার করা যায়।
- এতে 'start' এবং 'run' এর মতো একাধিক মেথড থাকে।
- এটি বেশি মেমরি স্পেস নেয়।
- জাভায় মাল্টিপল ইনহেরিটেন্স নেই, তাই একটি ক্লাস Thread ক্লাস এক্সটেন্ড করলে অন্য কোনো ক্লাস এক্সটেন্ড করতে পারে না।
- প্রতিটি থ্রেড একটি ইউনিক অবজেক্ট তৈরি করে এবং এর সাথে অ্যাসোসিয়েট হয়।
Runnable
- এটি একটি ফাংশনাল ইন্টারফেস (functional interface)।
- থ্রেড তৈরি করতে এটি ব্যবহার করা যায়।
- এতে একমাত্র অ্যাবস্ট্র্যাক্ট মেথড 'run' থাকে।
- এটি কম মেমরি স্পেস নেয়।
- যখন একটি ক্লাস 'runnable' ইন্টারফেস ইমপ্লিমেন্ট করে, তবে সেই ক্লাস অন্য ক্লাস এক্সটেন্ড করতে পারে।
- একাধিক থ্রেড একই অবজেক্ট শেয়ার করতে পারে।