Как увеличить емкость LinkedBlockingQueue?

Как насчет использования SelectMany и GroupBy с некоторыми индексами?

// 1. Project inner lists to a single list (SelectMany)
// 2. Use "GroupBy" to aggregate the item's based on order in the lists
// 3. Strip away any ordering key in the final answer
var query = myList.SelectMany(
    xl => xl.Select((vv,ii) => new { Idx = ii, Value = vv }))
       .GroupBy(xx => xx.Idx)
       .OrderBy(gg => gg.Key)
       .Select(gg => gg.Select(xx => xx.Value));

Из LinqPad:

we groupa da items [/g0]

1
задан develooper1 30 March 2019 в 23:17
поделиться

1 ответ

Документация конструктора, принимающего емкость, гласит следующее:

Создает очередь LinkedBlockingQue с заданной (фиксированной) емкостью.

Термин fixed подразумевает, что емкость не может быть изменена после создания очереди.

Это видно по объявленной емкости final:

/** The capacity bound, or Integer.MAX_VALUE if none */
private final int capacity;

Если вы хотите увеличить емкость очереди фиксированного размера, вам просто нужно создать новую очередь, или укажите начальную емкость, достаточно большую для ваших нужд.

0
ответ дан Jacob G. 30 March 2019 в 23:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: