BlockingCollection или Queue для заданий?

Я разрабатываю приложение Windows Forms (C #), и пока программа работает, она создает объекты и добавляет их в список. Мне нужно обработать элементы в списке с помощью FIFO (первым пришел - первым ушел). Я хочу сделать это в фоновом потоке, и мне нужно обработать их по порядку, номер 1, номер 2, номер 3 и так далее. И как только элемент добавляется в список, я хочу его обработать. Так что мне нужно что-то проверить в этом списке.

Как лучше всего добиться этого?

Я знаю, что блокирующая коллекция делает нечто подобное, ожидая добавления элемента перед его обработкой.

Я могу использовать один поток с Очередью и просто while (true) и брать элементы, если они есть?

Что вы думаете?

9
задан syncis 23 August 2011 в 12:35
поделиться