কম্পিউটার

জাভাতে এক্সিকিউটর এবং এক্সিকিউটর সার্ভিসের মধ্যে পার্থক্য


এক্সিকিউটর এবং এক্সিকিউটর সার্ভিসেস উভয় ইন্টারফেসই এক্সিকিউটর ফ্রেমওয়ার্কের অংশ। এটি জাভা 5 এর সাথে প্রকাশ করা হয়েছে।

জাভাতে, থ্রেড তৈরি করা খুব ব্যয়বহুল অপারেশন তাই আমাদের প্রতিবার একটি নতুন থ্রেড শুরু করার পরিবর্তে উপলব্ধ থ্রেডটি পুনরায় ব্যবহার করা উচিত এবং আমরা এক্সিকিউটর ফ্রেমওয়ার্ক ব্যবহার করে একই অর্জন করতে পারি।

এক্সিকিউটর ফ্রেমওয়ার্ক সমান্তরাল টাস্ক এক্সিকিউট করতে থ্রেড পুল ব্যবহার করে যা রেসপন্স টাইম এবং রিসোর্স ইউটিলাইজেশন অপ্টিমাইজ করতে সাহায্য করে। এটি চার ধরনের বিল্ট ইন থ্রেড পুল প্রদান করে −

  • স্থির থ্রেড পুল
  • ক্যাশড থ্রেড পুল
  • নির্ধারিত থ্রেড পুল
  • একক থ্রেড এক্সিকিউটর
Sr. না। কী নির্বাহক Executor Services
1
মৌলিক
এটি একটি অভিভাবক ইন্টারফেস
এটি এক্সিকিউটর ইন্টারফেস প্রসারিত করে
2
পদ্ধতি
এটিতে execute() পদ্ধতি রয়েছে
এতে সাবমিট() পদ্ধতি আছে
3
রিটার্ন টাইপ
এটি কিছুই ফেরত দেয় না।
এটি ভবিষ্যত অবজেক্ট রিটার্ন করে।
4.
চালনা যোগ্য/কলযোগ্য
এটি রানযোগ্য বস্তু গ্রহণ করে।
এটি রানযোগ্য এবং কলযোগ্য উভয়ই গ্রহণ করে

ExecutorService-এর উদাহরণ

public class Main {
   public static void main(String args[]) {
      ExecutorService services = Executors.newSingleThreadExecutor();
      Future<?> future = services.submit(new Task());
   }
}
public class Task implements Runnable {
   @Override
   public void run() {
      System.out.println("In Run");
   }
}

নির্বাহকের উদাহরণ

public class Main {
   public static void main(String args[]) {
      Executor executor = Executors.newSingleThreadExecutor();
      executor.execute(new Task());
   }
}
public class Task implements Runnable {
   @Override
   public void run() {
      System.out.println("In Run");
   }
}

  1. জাভাতে ব্যতিক্রম এবং ত্রুটির মধ্যে পার্থক্য

  2. জাভাতে সিরিয়ালাইজেশন এবং এক্সটারনালাইজেশনের মধ্যে পার্থক্য

  3. জাভাতে ইটারেটর এবং গণনার মধ্যে পার্থক্য

  4. জাভাতে অ্যারেলিস্ট এবং হ্যাশসেটের মধ্যে পার্থক্য