Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में ArrayBlockingQueue कैसे उपयोग करें?

ArrayBlockingQueue बेसिक उपयोग - थ्रेड-सेफ बाउंडेड क्यू

ArrayBlockingQueue एक निश्चित आकार का, FIFO, ब्लॉकिंग क्यू है जो ऐरे द्वारा समर्थित है। प्रोड्यूसर-कंज्यूमर पैटर्न के लिए आदर्श।

चरण 1: प्रोजेक्ट बनाएं

Android Studio: File → New Project।

चरण 2: लेआउट (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/actionEvent"
        android:textSize="40sp"
        android:layout_marginTop="30dp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />

</LinearLayout>

चरण 3: MainActivity.java - बेसिक ऑपरेशन्स

package com.example.myapplication;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.TextView;
import java.util.concurrent.ArrayBlockingQueue;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView actionEvent = findViewById(R.id.actionEvent);
        ArrayBlockingQueue<String> arrayBlockingQueue = new ArrayBlockingQueue<>(50);

        // एलिमेंट्स जोड़ें (offer/put/add)
        arrayBlockingQueue.add("साई");
        arrayBlockingQueue.add("राम");
        arrayBlockingQueue.add("कृष्ण");
        arrayBlockingQueue.add("प्रसाद");

        actionEvent.setText("क्यू: " + arrayBlockingQueue);
    }
}

मुख्य ऑपरेशन्स तुलना:

ऑपरेशनमेथडफुल होने परखाली होने पर
इन्सर्टadd(e)IllegalStateException-
इन्सर्टoffer(e)false रिटर्न-
इन्सर्टput(e)ब्लॉक (इंतजार)-
इन्सर्टoffer(e, timeout)टाइमआउट तक इंतजार-
रिमूवremove()-NoSuchElementException
रिमूवpoll()-null रिटर्न
रिमूवtake()-ब्लॉक (इंतजार)
रिमूवpoll(timeout)-टाइमआउट तक इंतजार
इन्सपेक्टelement()-NoSuchElementException
इन्सपेक्टpeek()-null रिटर्न

प्रोड्यूसर-कंज्यूमर उदाहरण:

// प्रोड्यूसर थ्रेड
new Thread(() -> {
    try {
        for (int i = 0; i < 10; i++) {
            queue.put("Item " + i); // ब्लॉक अगर फुल
            Thread.sleep(100);
        }
    } catch (InterruptedException e) { Thread.currentThread().interrupt(); }
}).start();

// कंज्यूमर थ्रेड
new Thread(() -> {
    try {
        while (true) {
            String item = queue.take(); // ब्लॉक अगर खाली
            process(item);
        }
    } catch (InterruptedException e) { Thread.currentThread().interrupt(); }
}).start();

आउटपुट

क्यू: [साई, राम, कृष्ण, प्रसाद]

Android में ArrayBlockingQueue कैसे उपयोग करें?

नोट: UI थ्रेड पर put()/take() कभी न करें - ANR होगा।

  1. एंड्रॉइड में ViewFlipper का उपयोग कैसे करें? एंड्रॉइड में ViewFlipper का उपयोग कैसे करें?

    एंड्रॉइड में ViewFlipper के साथ व्यू फ्लिपिंग एनिमेशन यह ट्यूटोरियल ViewFlipper का उपयोग करके व्यूज़ के बीच एनिमेटेड ट्रांजिशन बनाने का तरीका दिखाता है, जिसमें ऑटो-फ्लिपिंग और मैनुअल नेविगेशन शामिल है। लेआउट (activity_main.xml) <RelativeLayout xmlns:android=https://schemas.android.com/apk/res/an

  1. Android में Snackbar का उपयोग कैसे करें? Android में Snackbar का उपयोग कैसे करें?

    परिचय Snackbar Material Design का एक घटक है जो स्क्रीन के निचले भाग में एक संक्षिप्त संदेश दिखाता है। यह उदाहरण Snackbar के बुनियादी उपयोग और अनुकूलन को दर्शाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.

  1. Android में NavigationView (नेविगेशन ड्रॉअर) कैसे उपयोग करें? Android में NavigationView (नेविगेशन ड्रॉअर) कैसे उपयोग करें?

    परिचय NavigationView मटेरियल डिज़ाइन का साइड नेविगेशन ड्रॉअर (हैमबर्गर मेनू) है। यह DrawerLayout के अंदर होता है और मेनू आइटम्स, हेडर, और नेविगेशन हैंडलिंग प्रदान करता है। यह ट्यूटोरियल Navigation Components के साथ आधुनिक सेटअप दिखाता है। आवश्यक चरण चरण 1: नया प्रोजेक्ट बनाएं Android Studio में Fi