Kelas concurrent_priority_queue
Kelas concurrent_priority_queue
adalah kontainer yang memungkinkan beberapa utas untuk secara bersamaan mendorong dan memunculkan item. Item dimunculkan dalam urutan prioritas di mana prioritas ditentukan oleh funktor yang disediakan sebagai argumen templat.
Sintaks
template <typename T,
typename _Compare= std::less<T>,
typename _Ax = std::allocator<T>
>,
typename _Ax = std::allocator<T>> class concurrent_priority_queue;
Parameter
T
Jenis data elemen yang akan disimpan dalam antrean prioritas.
_Bandingkan
Jenis objek fungsi yang dapat membandingkan dua nilai elemen sebagai kunci pengurutan untuk menentukan urutan relatifnya dalam antrean prioritas. Argumen ini bersifat opsional dan predikat less<T>
biner adalah nilai default.
_Ax
Jenis yang mewakili objek alokator tersimpan yang merangkum detail tentang alokasi dan alokasi memori untuk antrean prioritas bersamaan. Argumen ini bersifat opsional dan nilai defaultnya adalah allocator<T>
.
Anggota
Typedef Publik
Nama | Deskripsi |
---|---|
allocator_type |
Jenis yang mewakili kelas alokator untuk antrean prioritas bersamaan. |
const_reference |
Jenis yang mewakili referensi const ke elemen jenis yang disimpan dalam antrean prioritas bersamaan. |
reference |
Jenis yang mewakili referensi ke elemen jenis yang disimpan dalam antrean prioritas bersamaan. |
size_type |
Jenis yang menghitung jumlah elemen dalam antrean prioritas bersamaan. |
value_type |
Jenis yang mewakili jenis data yang disimpan dalam antrean prioritas bersamaan. |
Konstruktor Publik
Nama | Deskripsi |
---|---|
concurrent_priority_queue | Kelebihan beban. Membuat antrean prioritas bersamaan. |
Metode Publik
Nama | Deskripsi |
---|---|
hapus | Menghapus semua elemen dalam prioritas bersamaan. Metode ini tidak aman konkurensi. |
kosong | Menguji apakah antrean prioritas bersamaan kosong pada saat metode ini dipanggil. Metode ini aman konkurensi. |
get_allocator | Mengembalikan salinan alokator yang digunakan untuk membuat antrean prioritas bersamaan. Metode ini aman konkurensi. |
Mendorong | Kelebihan beban. Menambahkan elemen ke antrean prioritas bersamaan. Metode ini aman konkurensi. |
ukuran | Mengembalikan jumlah elemen dalam antrean prioritas bersamaan. Metode ini aman konkurensi. |
tukar | Menukar isi dua antrean prioritas bersamaan. Metode ini tidak aman konkurensi. |
try_pop | Menghapus dan mengembalikan elemen prioritas tertinggi dari antrean jika antrean tidak kosong. Metode ini aman konkurensi. |
Operator Publik
Nama | Deskripsi |
---|---|
operator= | Kelebihan beban. Menetapkan isi objek lain concurrent_priority_queue untuk objek ini. Metode ini tidak aman konkurensi. |
Keterangan
Untuk informasi terperinci tentang concurrent_priority_queue
kelas, lihat Kontainer dan Objek Paralel.
Hierarki Warisan
concurrent_priority_queue
Persyaratan
Header: concurrent_priority_queue.h
Namespace: konkurensi
hapus
Menghapus semua elemen dalam prioritas bersamaan. Metode ini tidak aman konkurensi.
void clear();
Keterangan
clear
tidak aman konkurensi. Anda harus memastikan bahwa tidak ada utas lain yang memanggil metode pada antrean prioritas bersamaan saat Anda memanggil metode ini. clear
tidak membebaskan memori.
concurrent_priority_queue
Membuat antrean prioritas bersamaan.
explicit concurrent_priority_queue(
const allocator_type& _Al = allocator_type());
explicit concurrent_priority_queue(
size_type _Init_capacity,
const allocator_type& _Al = allocator_type());
template<typename _InputIterator>
concurrent_priority_queue(_InputIterator _Begin,
_InputIterator _End,
const allocator_type& _Al = allocator_type());
concurrent_priority_queue(
const concurrent_priority_queue& _Src);
concurrent_priority_queue(
const concurrent_priority_queue& _Src,
const allocator_type& _Al);
concurrent_priority_queue(
concurrent_priority_queue&& _Src);
concurrent_priority_queue(
concurrent_priority_queue&& _Src,
const allocator_type& _Al);
Parameter
_InputIterator
Jenis iterator input.
_Al
Kelas alokator untuk digunakan dengan objek ini.
_Init_capacity
Kapasitas concurrent_priority_queue
awal objek.
_Mulai
Posisi elemen pertama dalam rentang elemen yang akan disalin.
_Akhir
Posisi elemen pertama di luar rentang elemen yang akan disalin.
_Src
Objek sumber concurrent_priority_queue
untuk menyalin atau memindahkan elemen.
Keterangan
Semua konstruktor menyimpan objek _Al
alokator dan menginisialisasi antrean prioritas.
Konstruktor pertama menentukan antrean prioritas awal kosong dan secara opsional menentukan alokator.
Konstruktor kedua menentukan antrean prioritas dengan kapasitas _Init_capacity
awal dan secara opsional menentukan alokator.
Konstruktor ketiga menentukan nilai yang disediakan oleh rentang iterator [ _Begin
, , _End
) dan secara opsional menentukan alokator.
Konstruktor keempat dan kelima menentukan salinan antrean _Src
prioritas .
Konstruktor keenam dan ketujuh menentukan pemindahan antrean _Src
prioritas .
kosong
Menguji apakah antrean prioritas bersamaan kosong pada saat metode ini dipanggil. Metode ini aman konkurensi.
bool empty() const;
Tampilkan Nilai
true
jika antrean prioritas kosong saat fungsi dipanggil, false
jika tidak.
get_allocator
Mengembalikan salinan alokator yang digunakan untuk membuat antrean prioritas bersamaan. Metode ini aman konkurensi.
allocator_type get_allocator() const;
Tampilkan Nilai
Salinan alokator yang digunakan untuk membuat concurrent_priority_queue
objek.
operator=
Menetapkan isi objek lain concurrent_priority_queue
untuk objek ini. Metode ini tidak aman konkurensi.
concurrent_priority_queue& operator= (const concurrent_priority_queue& _Src);
concurrent_priority_queue& operator= (concurrent_priority_queue&& _Src);
Parameter
_Src
Objek sumber concurrent_priority_queue
.
Tampilkan Nilai
Referensi ke objek ini concurrent_priority_queue
.
push
Menambahkan elemen ke antrean prioritas bersamaan. Metode ini aman konkurensi.
void push(const value_type& _Elem);
void push(value_type&& _Elem);
Parameter
_Elem
Elemen yang akan ditambahkan ke antrean prioritas bersamaan.
size
Mengembalikan jumlah elemen dalam antrean prioritas bersamaan. Metode ini aman konkurensi.
size_type size() const;
Tampilkan Nilai
Jumlah elemen dalam objek ini concurrent_priority_queue
.
Keterangan
Ukuran yang dikembalikan dijamin untuk menyertakan semua elemen yang ditambahkan oleh panggilan ke fungsi push
. Namun, mungkin tidak mencerminkan hasil operasi bersamaan yang tertunda.
pertukaran
Menukar isi dua antrean prioritas bersamaan. Metode ini tidak aman konkurensi.
void swap(concurrent_priority_queue& _Queue);
Parameter
_Antrian
Objek concurrent_priority_queue
untuk menukar konten dengan.
try_pop
Menghapus dan mengembalikan elemen prioritas tertinggi dari antrean jika antrean tidak kosong. Metode ini aman konkurensi.
bool try_pop(reference _Elem);
Parameter
_Elem
Referensi ke variabel yang akan diisi dengan elemen prioritas tertinggi, jika antrean tidak kosong.
Tampilkan Nilai
true
jika nilai muncul, false
jika tidak.
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk