জাভা 8 এর java.util.functionপ্যাকেজে আমাদের রয়েছে:
- ফাংশন : একটি যুক্তি নেয়, একটি ফলাফল তৈরি করে।
- গ্রাহক : একটি যুক্তি নেয়, কিছুই উত্পাদন করে না।
- সরবরাহকারী : কোন যুক্তি নেই, একটি ফলাফল তৈরি করে।
- ... : অন্যান্য ক্ষেত্রে আদিম, 2 টি আর্গুমেন্ট, ইত্যাদি পরিচালনা করে ...
তবে আমাকে " কোনও যুক্তি লাগে না, কিছুই উত্পন্ন করে না " কেসটি পরিচালনা করতে হবে need
এই জন্য কিছুই নেই java.util.functionnal।
সুতরাং, প্রশ্নটি হ'ল:
' কোন ফাংশন যা কোনও যুক্তি নেয় না এবং কিছুই দেয় না ' এর নাম কী?
জাভা 8 এ, এর সংজ্ঞাটি হবে:
@FunctionalInterface
public interface InsertANameHere {
void execute();
}
নির্বাহক ইতিমধ্যে বিদ্যমান এবং এর অন্য উদ্দেশ্য রয়েছে: "এমন একটি বস্তু যা জমা দেওয়া চলমান কার্য সম্পাদন করে "। স্বাক্ষরটি মেলে না ( execute(Runnable):void) এবং এটি কার্যকরী ইন্টারফেসও নয় ।
চলমান বিদ্যমান, তবে এটি থ্রেডিং প্রসঙ্গে দৃ context়ভাবে লিঙ্কযুক্ত:
- প্যাকেজটি
java.lang, নাjava.util.function। - জাভাদোক বলেছেন: " রান্নেবল ইন্টারফেসটি এমন কোনও শ্রেণীর দ্বারা প্রয়োগ করা উচিত যার উদাহরণগুলি থ্রেড দ্বারা চালিত করার উদ্দেশ্যে করা হয় "।
- "চলমান" নামটি থ্রেডের মধ্যে কিছু চলমান কোডের পরামর্শ দেয়।
Runnableএই মুহুর্তে পুরানো, কারণ একটি রান্নেবলও অন্যান্য শ্রেণি দ্বারা ব্যবহৃত হয় Thread( Executorউদাহরণস্বরূপ)।
Runnableএর অর্থ এই নয় যে গুলি কেবলমাত্র এস .run()দ্বারা হতে পারে Thread। বাস্তবে এগুলি খুব সাধারণভাবে প্রশ্নে বর্ণিত ঠিক উদ্দেশ্যে ব্যবহার করা হয়
java.util.function প্যাকেজে কিছুই খুঁজে পান নি ।