Urutan dequeue default yang saya yakini adalah first in first out, oleh karena itu mereka akan di-dequeued dalam urutan yang sama dengan yang diantrekan.
Untuk poin kedua Anda, apakah Anda mengatakan bahwa Anda ingin membuat serial dequeue pada non-unik-id? Yaitu, pada dasarnya Anda memiliki banyak antrian dalam antrian Anda, dan Anda hanya ingin satu pekerjaan menggunakan pesan dari setiap antrian pada satu waktu?
Yaitu, Anda memiliki pesan:
1 | a
2 | a
3 | b
4 | a
Di sini Anda memiliki dua jenis record (a dan b) dan Anda ingin 1 pekerjaan menggunakan semua a dan yang lain menggunakan semua b. Jika demikian, pertimbangkan untuk membuat beberapa antrean?
Gagal beberapa antrian, lihat jenis dequeue_options_t yang Anda berikan ke prosedur dequeue - terutama dequeue_condition - ini memungkinkan Anda untuk memilih hanya pesan tertentu, sehingga Anda dapat memulai pekerjaan untuk semua a dan satu lagi untuk semua b dll.