Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpCcCb 380 of 509 menu
◀ ▶

ConcurrentBag в C#

Класс ConcurrentBag хранит элементы так, чтобы потоки меньше спорили за одну вершину: у каждого потока свой локальный запас. Это набор без обещанного порядка.

Порядок извлечения не совпадает с порядком добавления. Набор подходит, когда важно собрать элементы, а не сохранить очередь.

Добавим число 3 и сразу снимем его. Первая строка в консоли - True, снятие удалось. Вторая строка - само число 3:

using System.Collections.Concurrent; ConcurrentBag<int> bag = new(); bag.Add(3); Console.WriteLine(bag.TryTake(out int v)); // выведет True Console.WriteLine(v); // выведет 3

Добавьте в набор числа 8 и 9. Снимите одно значение и выведите в консоль, удалось ли снятие, и само значение.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить