qoollo / dotNet-turbo

Collection of useful classes for your .NET application (object pool, thread pool, async processing, queues, collections, multithreading primitives, etc.)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Примеры ThreadPool

opened this issue · comments

Привет!

У вас есть еще пример использования ThreadPool?

А какие конкретно примеры интересуют?
В wiki есть простейший пример использования: https://github.com/qoollo/dotNet-turbo/wiki/Thread-Pool

@ikopylov я его разабрал, спасибо. К примеру запись в один файл с нескольких потоков.

К примеру запись в один файл с нескольких потоков.

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

Пул потоков лучше всего подходит для параллелизации разнородных неблокирующихся задач. Если есть какой-то процент блокирующихся задач, то можно использовать динамчиеский пул. Он будет выделять новые потоки, чтобы загрузить CPU по максимуму вычислительными задачами.

В приведённом же примере все задачи будут блокироваться на общем ресурсе - файле. В итоге выигрыша никакого не будет.

Понемногу разбираюсь. Спасибо за библиотеку!