Очередь
имеет семантику, которая позволяет использовать ее в std :: vector, так что вы можете просто использовать ее, как и любой другой вектор, когда добавляете, например, использовать push_back для добавления очереди в вектор.
Вставка в очередь выполняется с помощью push (), поскольку вы можете вставить только один конец.Вы можете получить доступ к очереди через оператор [], например, queuevec[i]
, где i - номер очереди, которую вы хотите использовать.
Если это используется в многопоточном контексте, это безопасно для двух разныхпотоки для доступа к двум различным очередям внутри вектора без блокировки, но для двух потоков небезопасно обращаться к одной и той же очереди.Если вы добавите очередь к вектору, это может сделать недействительными все другие очереди в векторе в течение этого периода, если они «перемещаются», поэтому вам потребуется заблокировать мьютекс для выполнения этого действия.