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

জাভায় Runnable এবং Callable ইন্টারফেসের পার্থক্য


দইদুইই ফাংশনাল ইন্টারফেস, থ্রেড এক্সিকিউশনের জন্য।

ক্র. নংবিষয়RunnableCallable
১প্যাকেজjava.langjava.util.concurrent
২থ্রেড কনস্ট্রাক্টরnew Thread(runnable) দিয়ে সরাসরিসরাসরি নয়, ExecutorService দরকার
৩রিটার্ন টাইপvoid (run())V (call()) - রেজাল্ট রিটার্ন করতে পারে
৪এক্সেপশনচেকড এক্সেপশন থ্রো করতে পারে নাচেকড এক্সেপশন থ্রো করতে পারে
৫বাল্ক এক্সিকিউশনinvokeAll() সাপোর্ট করে নাinvokeAll() দিয়ে বাল্ক এক্সিকিউশন

Runnable উদাহরণ

new Thread(() -> System.out.println("Hello from Runnable")).start();

Callable উদাহরণ

ExecutorService svc = Executors.newSingleThreadExecutor();
Future fut = svc.submit(() -> { return "Result from Callable"; });
System.out.println(fut.get());
  1. জাভাতে Serialization এবং Externalization-এর পার্থক্য

  2. জাভাতে Iterator এবং Enumeration-এর পার্থক্য

  3. জাভাতে Queue ইন্টারফেসের peek(), poll() এবং remove() মেথডের পার্থক্য কী?

  4. জাভাতে ArrayList এবং HashSet-এর পার্থক্য