Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách sử dụng ConcurrentLinkedDeque trong Android

ConcurrentLinkedDeque - Deque an toàn luồng

ConcurrentLinkedDeque là hàng đợi hai đầu (Double-ended Queue) không giới hạn, dựa trên linked nodes. Hỗ trợ thêm/xóa ở cả hai đầu (head/tail) một cách an toàn cho đa luồng. Cũng sử dụng thuật toán CAS non-blocking.

Ví dụ đơn giản

MainActivity.java

package com.example.myapplication;

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

public class MainActivity extends AppCompatActivity {

    private ConcurrentLinkedDeque<String> concurrentLinkedDeque;

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

        concurrentLinkedDeque = new ConcurrentLinkedDeque<>();
        final TextView actionEvent = findViewById(R.id.actionEvent);

        concurrentLinkedDeque.add("sai");
        concurrentLinkedDeque.add("ram");
        concurrentLinkedDeque.add("krishna");
        concurrentLinkedDeque.add("prasad");

        actionEvent.setText("Deque: " + concurrentLinkedDeque);
    }
}

Phương thức thường dùng

Phương thứcMô tả
addFirst(e)Thêm vào đầu
addLast(e)Thêm vào cuối
pollFirst()Lấy và xóa đầu
pollLast()Lấy và xóa cuối
peekFirst()Xem đầu (không xóa)
peekLast()Xem cuối (không xóa)