Я хочу написать приложение, которому нужна очередь задач. Я должен иметь возможность добавлять задачи в эту очередь, и эти задачи могут завершиться асинхронно (и должны быть удалены из этой очереди, как только они будут завершены)Простая асинхронная структура данных очереди в C#/mono
Датструктура должна также позволять получать информацию о любой задаче в пределах Queue, предоставил уникальный идентификатор очереди.
Структура данных также должна предоставлять список элементов в очереди в любое время.
Интерфейс LINQ для управления этой очередью также будет желательным.
Поскольку это очень распространенное требование для многих приложений (по крайней мере, в моем личном наблюдении), я хочу знать, есть ли какие-либо стандартные структуры данных, которые доступны как часть библиотеки C#, вместо того, чтобы писать что-то с нуля ,
Любые указатели?
Почему бы не переместить полные элементы в * второй * ковш (возможно, только синхронизированный список) после завершения? Это будет держать ожидающее ведро красивым и маленьким. Кроме того, то, что вы описываете, не является строго очередью ... –
Да. Это не очередь. Но я не знаю, как назвать эту структуру данных. Мне нужна структура данных TaskManager. Есть ли встроенные библиотеки C#, которые могут помочь в достижении этого? –