Очередь и обработка в n потоков - что из стандартного?
От: Shmj Ниоткуда  
Дата: 23.02.20 19:52
Оценка:
ThreadPool требует глобальной установки SetMaxThreads. А есть что-то, где можно инстанционально задать максимум одновременных потоков? Столько этих NuGet-пакетов уже наделали, наверняка что-то есть.

В общем, задача такая:

1. Ставите в очередь задания (1000 штук, к примеру, ждут в очереди и вы добавляете 1001).
2. Из очереди как-то достаются задания с лимитом в 7 штук (задаете), т.к. 1000 штук одновременно — не гуд. Остальные так и ждут в очереди.
3. Когда 1 из 7 завершило работу — запускается новое.

Ну и, желательно, возможность остановить обработку и пр. плюшки.

Что есть?

Ну и чтоб 2 раза не вставать. Еще нужно чтобы добавлялось в очередь с некой периодичностью (к примеру, проверка нужна раз в 5 минут, т.к. чаще — смысла нет). Если успех — удаляем из очереди. Иначе — ждет повторного вызова. Опять же — только n потоков, остальные ждут, даже если время проверки подошло.
Отредактировано 23.02.2020 19:59 Shmj . Предыдущая версия . Еще …
Отредактировано 23.02.2020 19:53 Shmj . Предыдущая версия .
Отредактировано 23.02.2020 19:52 Shmj . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.