জাভাতে কীভাবে ব্লকিংকিউ ইন্টারফেস প্রয়োগ করবেন



এই নিবন্ধটি আপনাকে জাভাতে ব্লকিংকুইউ ইন্টারফেস কীভাবে প্রয়োগ করতে হবে তার বিশদ এবং ব্যাপক জ্ঞান সরবরাহ করবে।

যে কোনও প্রোগ্রামিং ভাষার একটি কাতারে একটি গুরুত্বপূর্ণ বিষয়। বিশেষত যদি আমরা কথা বলি । এই নিবন্ধে, আমরা নিম্নলিখিত ক্রমে জাভাতে ব্লকিংকিউ ইন্টারফেসটি নিয়ে আলোচনা করব:

জাভাতে একটি ব্লকিংকিউ ইন্টারফেস কী?

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





জাভা জন্য কি আদর্শ

সি ++ তে অগ্রাধিকারের সারি

জাভাতে ব্লকিংকিউ ইন্টারফেস গ্রহণ করে নাশূন্যমান এবং নিক্ষেপনাল পয়েন্টার ব্যতিক্রমআপনি যদি সারিতে নাল মান সংরক্ষণ করার চেষ্টা করেন।জাভা ব্লকিংকিউ বাস্তবায়নগুলি থ্রেড নিরাপদ । সমস্ত সারিবদ্ধ পদ্ধতি প্রাকৃতিকভাবে পারমাণবিক এবং অভ্যন্তরীণ লকগুলি বা সহনীয় নিয়ন্ত্রণের অন্যান্য রূপ ব্যবহার করে।



জাভা কিউ ক্লাস ডায়াগ্রাম

জাভা কিউ ইন্টারফেস সংগ্রহ ইন্টারফেস প্রসারিত। সংগ্রহ ইন্টারফেস Iteable ইন্টারফেস প্রসারিত। প্রায়শই ব্যবহৃত কিউ বাস্তবায়ন ক্লাসগুলির কয়েকটি হ'ল লিংকডলিস্ট, অগ্রাধিকার কিউ, অ্যারে ব্লকিং কিউ, ডিলেকিউ, লিঙ্কড ব্লকিং কিউ, অগ্রাধিকার ব্লকিং কিউ,ইত্যাদি .. অ্যাবস্ট্রাক্ট কিউ ক্যু প্রয়োগের ক্ষেত্রে প্রচেষ্টা কমাতে কাতার ইন্টারফেসের একটি কঙ্কালের বাস্তবায়ন সরবরাহ করে।

ব্লকিংকিউ প্রকার

ব্লকিংকিউ দুটি ধরণের:



  • আনবাউন্ডেড সারি: ব্লকিংয়ের সারির ক্যাপাসিটি পূর্ণসংখ্যাতে সেট করা হবে। MAX_VALUE। আনবাউন্ডেড ব্লকিং কিউয়ের ক্ষেত্রে, সারি কখনই ব্লক হবে না কারণ এটি খুব বড় আকারে বাড়তে পারে। আপনি যখন উপাদান যুক্ত করেন তখন আকারটি বৃদ্ধি পায়।

বাক্য গঠন:
ব্লকিংকুই ব্লকিং ক্যু = নতুন লিঙ্কডব্লকিংডেক ()

  • সীমাবদ্ধ সারি: দ্বিতীয় ধরণের কিউ হ'ল সীমাবদ্ধ সারি। সীমাবদ্ধ কাতারের ক্ষেত্রে আপনি সারি নির্মাণকারীর মধ্যে কাতারের ক্ষমতাটি বাইপাস করে একটি সারি তৈরি করতে পারেন:
    বাক্য গঠন:
    // ক্ষমতা 5 সহ একটি ব্লকিং সারি তৈরি করে

ব্লকিংকুই ব্লকিং সারি = নতুন লিঙ্কডব্লকিংডেক (5)

ব্লকিংকিউ ইন্টারফেসের পদ্ধতি

ধরন পরিবর্তন করুন পদ্ধতি সিনট্যাক্স ব্যবহারের জন্য বর্ণনা
বুলিয়ান যোগ করুন (ই এবং) সন্নিবেশ

সক্ষমতার সীমাবদ্ধতা লঙ্ঘন না করে অবিলম্বে এটি করা সম্ভব হলে সাফল্যের সত্যতা প্রত্যাবর্তন এবং বর্তমানে কোনও স্থান উপলব্ধ না হলে একটি অবৈধ স্টেট এক্সেকশন নিক্ষেপ করা সম্ভব হলে এই কাতারে নির্দিষ্ট উপাদানটিকে সন্নিবেশ করান।

বুলিয়ান রয়েছে (অবজেক্ট ও) পরীক্ষা করা

যদি এই কাতারে নির্দিষ্ট উপাদান থাকে তবে সত্য ফিরে আসে।

int ড্রেনটো (সংগ্রহ সি) পুনরুদ্ধার বা অপসারণ

এই সারি থেকে সমস্ত উপলব্ধ উপাদান সরিয়ে দেয় এবং প্রদত্ত সংগ্রহে তাদের যুক্ত করে।

int নিকাশী পুনরুদ্ধার বা অপসারণ

এই সারি থেকে পাওয়া প্রদত্ত সংখ্যাগুলির সর্বাধিক সরিয়ে দেয় এবং প্রদত্ত সংগ্রহে তাদের যুক্ত করে।

কিভাবে জাভা মধ্যে একটি প্যাকেজ তৈরি করতে
বুলিয়ান অফার (ই এবং) সন্নিবেশ

সক্ষমতা বিধিনিষেধ লঙ্ঘন না করে অবিলম্বে এটি করা সম্ভব হলে নির্দিষ্ট স্থানটিকে এই কাতারে সন্নিবেশ করান, সাফল্যের সত্যতা প্রত্যাবর্তন করা এবং যদি বর্তমানে কোনও স্থান উপলব্ধ না হয় তবে মিথ্যা বলে।

বুলিয়ান অফার (ই ই, দীর্ঘ সময়সীমা, টাইমউনিট ইউনিট) সন্নিবেশ

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

আইএস পোল (দীর্ঘ সময়সীমা, টাইমউনিট ইউনিট) পুনরুদ্ধার বা অপসারণ

এই সারিটির মাথাটি পুনরুদ্ধার করে এবং সরিয়ে দেয়, কোনও উপাদান উপলব্ধ হওয়ার জন্য প্রয়োজনে নির্দিষ্ট অপেক্ষা সময়ের জন্য অপেক্ষা করুন।

শূন্য পুট (ই ই) সন্নিবেশ

এই কাতারে নির্দিষ্ট উপাদানটি সন্নিবেশ করানো হয়েছে, স্থান উপলব্ধ হওয়ার জন্য প্রয়োজনীয় কিনা অপেক্ষা করে।

int অবশিষ্ট ক্ষমতা () পরীক্ষা করা

এই সারিটি আদর্শভাবে (মেমোরি বা রিসোর্স সীমাবদ্ধতার অভাবে) ব্লকিং ছাড়াই গ্রহণ করতে পারে এমন অতিরিক্ত উপাদানগুলির সংখ্যা, বা কোনও আন্তঃসীমা না থাকলে পূর্ণসংখ্যা। MAX_VALUE প্রদান করে।

বুলিয়ান অপসারণ (অবজেক্ট ও) + পুনরুদ্ধার বা অপসারণ

এই সারি থেকে নির্দিষ্ট উপাদানের একক উদাহরণ সরিয়ে দেয়,যদি এটি উপস্থিত থাকে

আইএস গ্রহণ করা() পুনরুদ্ধার বা অপসারণ

এই সারির মাথাটি পুনরুদ্ধার করে এবং সরিয়ে দেয়, কোনও উপাদান উপলব্ধ না হওয়া পর্যন্ত প্রয়োজনীয় অপেক্ষা করে।

জাভা উদাহরণস্বরূপ ব্লকিংকিউ ইন্টারফেস

প্যাকেজ com.jorterdev.concurrency আমদানি java.util.concurrent.ArrayBlockingQueue আমদানি java.util.concurrent.BlockingQueue পাবলিক ক্লাস প্রযোজক কনসুমার সার্ভিস {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরোগুলি) {// ব্লকিংয়ের সারি তৈরির ব্লুকিউ সারিবদ্ধ নতুন সারিবদ্ধ ক্রু 10) প্রযোজক প্রযোজক = নতুন প্রযোজক (সারি) গ্রাহক গ্রাহক = নতুন গ্রাহক (সারি) // প্রযোজক কাতারে বার্তা তৈরি করতে নতুন থ্রেড (প্রযোজক)। স্টার্ট () // গ্রাহক সারি থেকে নতুন থ্রেড (গ্রাহক) থেকে বার্তা গ্রহণ করতে শুরু করছেন .start () System.out.println ('প্রযোজক এবং গ্রাহক শুরু হয়েছে')}

এটির সাহায্যে আমরা জাভা নিবন্ধে ব্লকিংকুইউ ইন্টারফেসের শেষে এসেছি। আমি আশা করি আপনার সমস্ত ধারণা এখন পরিষ্কার হয়ে গেছে are

দেখুন এডুরেকা, বিশ্বস্ত জুড়ে 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা by এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্র কোর্সটি জাভা বিকাশকারী হতে চান এমন শিক্ষার্থী এবং পেশাদারদের জন্য ডিজাইন করা হয়েছে। কোর্সটি আপনাকে জাভা প্রোগ্রামিংয়ে একটি প্রধান সূচনা দেওয়ার জন্য এবং হাইবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই 'জাভাতে ব্লকিংকুইউ ইন্টারফেস' ব্লগের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।