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

Android में LinkedBlockingDeque में addLast() कैसे उपयोग करें?

LinkedBlockingDeque में addLast() - टेल पर थ्रेड-सेफ इन्सर्शन

LinkedBlockingDeque एक वैकल्पिक रूप से बाउंडेड, लिंक्ड-नोड आधारित डीक है। addLast() एलिमेंट को अंत में जोड़ता है।

चरण 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 - addLast() डेमो

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import java.util.concurrent.LinkedBlockingDeque;

public class MainActivity extends AppCompatActivity {

    LinkedBlockingDeque<String> linkedBlockingDeque;

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // अनबाउंडेड (कोई क्षमता नहीं) - या क्षमता पास करें: new LinkedBlockingDeque<>(100)
        linkedBlockingDeque = new LinkedBlockingDeque<>();
        final TextView actionEvent = findViewById(R.id.actionEvent);

        linkedBlockingDeque.add("साई");
        linkedBlockingDeque.add("राम");
        linkedBlockingDeque.add("कृष्ण");
        linkedBlockingDeque.add("प्रसाद");
        linkedBlockingDeque.add("राम");

        actionEvent.setText("" + linkedBlockingDeque);

        actionEvent.setOnClickListener(v -> {
            linkedBlockingDeque.addLast("tutorialspoint.com");
            actionEvent.setText("" + linkedBlockingDeque);
        });
    }
}

LinkedBlockingDeque बनाम ConcurrentLinkedDeque:

विशेषताLinkedBlockingDequeConcurrentLinkedDeque
बाउंडेडवैकल्पिक (कंस्ट्रक्टर में)नहीं (अनबाउंडेड)
ब्लॉकिंग ऑपरेशन्सहां (put, take, आदि)नहीं (नॉन-ब्लॉकिंग)
लॉकिंगReentrantLock (सिंगल लॉक)CAS (लॉक-फ्री)
थ्रूपुटकम (लॉक कॉन्टेंशन)उच्च (लो कॉन्टेंशन)
उपयोग केसप्रोड्यूसर-कंज्यूमरहाई कॉनकरेंसी, नॉन-ब्लॉकिंग

addLast() वेरिएंट्स:

  • addLast(e) - फुल होने पर IllegalStateException (अनबाउंडेड पर कभी नहीं)
  • offerLast(e) - फुल होने पर false
  • offerLast(e, timeout) - टाइमआउट तक इंतजार

आउटपुट

पहले: [साई, राम, कृष्ण, प्रसाद, राम]

क्लिक के बाद: [साई, राम, कृष्ण, प्रसाद, राम, tutorialspoint.com]

Android में LinkedBlockingDeque में addLast() कैसे उपयोग करें?

Android में LinkedBlockingDeque में addLast() कैसे उपयोग करें?

  1. Android में LinkedBlockingDeque में size() का उपयोग कैसे करें? Android में LinkedBlockingDeque में size() का उपयोग कैसे करें?

    LinkedBlockingDeque क्या है? LinkedBlockingDeque, Collection इंटरफेस और AbstractQueue क्लास द्वारा कार्यान्वित एक वैकल्पिक बाउंडेड डीक्यू है जो लिंक्ड नोड्स पर आधारित है। यह कंस्ट्रक्टर को मेमोरी साइज पास करता है और Android में मेमोरी वेस्टेज को रोकने में मदद करता है। उद्देश्य यह उदाहरण दर्शाता है

  1. Android में LinkedBlockingDeque में removeLastOccurrence() का उपयोग कैसे करें? Android में LinkedBlockingDeque में removeLastOccurrence() का उपयोग कैसे करें?

    LinkedBlockingDeque क्या है? LinkedBlockingDeque Collection इंटरफेस और AbstractQueue क्लास द्वारा कार्यान्वित है। यह लिंक्ड नोड्स पर आधारित वैकल्पिक सीमाएं प्रदान करता है। यह कंस्ट्रक्टर को मेमोरी साइज पास करता है और Android में मेमोरी वेस्टेज को रोकने में मदद करता है। उदाहरण: removeLastOccurrence(

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

    उदाहरण में जाने से पहले, हमें पता होना चाहिए कि LinkedBlockingDeque क्या है। यह Collection इंटरफेस और AbstractQueue क्लास द्वारा इम्प्लीमेंटेड है। यह लिंक्ड नोड्स पर आधारित वैकल्पिक सीमाएं प्रदान करता है। यह कंस्ट्रक्टर को मेमोरी साइज पास करता है और एंड्रॉइड में मेमोरी वेस्टेज को रोकने में मदद करता