জাভা 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
প্যাকেজে কিছুই খুঁজে পান নি ।