BlockingQueue ইন্টারফেস Java.util.concurrent প্যাকেজের অংশ। BlockingQueue স্পেশালি প্রডিউসার-কনসিউমার কিউর জন্য ডিজাইন করা হয়েছে এবং কালেকশন সাপোর্ট করে। এই ইন্টারফেস চারটি পার্টে ভাগ করা হয়েছে যাতে কিউর ওপর করা যাওয়া সব টাইপের অপারেশন সাপোর্ট করা যায়। এটি নাল কি এক্সেপ্ট করে না। ArrayBlockingQueue এবং LinkedBlockingQueue উভয়ই BlockingQueue ইন্টারফেস ইমপ্লিমেন্ট করে।
ArrayBlockingQueue এবং LinkedBlockingQueue উভয়ই এলিমেন্টগুলো FIFO অর্ডারে সংরক্ষণ করে। উভয় কিউতে ইনসারশন সবসময় টেইলে হয় এবং রিমুভাল হেড থেকে হয়।
| Sr. No. | Key | ArrayBlockingQueue | LinkedBlockingQueue |
|---|---|---|---|
| 1 | Basic | Array-ব্যাকড | Linked list-ব্যাকড |
| 2 | Bounded | বাউন্ডেড অ্যারে কিউ। একবার তৈরি হলে ক্যাপাসিটি পরিবর্তন করা যায় না | আনবাউন্ডেড কিউ |
| 3 | Throughput | লিংকড কিউর চেয়ে কম থ্রুপুট | লিংকড কিউদের অ্যারে-বেজড কিউর চেয়ে বেশি থ্রুপুট |
| 4 | Lock | সিঙ্গেল-লক ডাবল কন্ডিশন অ্যালগরিদম ব্যবহার করে | পুটলক (putLock) ইনসারশনের জন্য এবং টেকলক (takeLock) রিমুভালের জন্য |