Когда мне не следует использовать ThreadPool в .Net?
Единственная причина, по dotnet которой я бы не стал использовать thread ThreadPool
для дешевой многопоточности, заключается thread в том, что мне нужно…
- взаимодействовать с запущенным методом (например, убить его)
- запустить код на STA thread (это случилось со мной)
- сохранить поток живым после того, как мое приложение умерло (
ThreadPool
потоки являются фоновыми потоками) - на случай, если мне понадобится изменить приоритет темы. Мы не можем изменить приоритет потоков в ThreadPool, который по умолчанию установлен на Normal.
P.S.: Статья csharp MSDN "The Managed Thread Pool" содержит раздел под threading названием «Когда не использовать потоки пула потоков» с очень похожим, но c#-language немного более полным списком threading возможных причин неиспользования multithread пула потоков.
Есть много причин, по c# которым вам нужно пропустить c#-language ThreadPool
, но если вы их не знаете, то .net ThreadPool
должно быть достаточно для c#-language вас.
В качестве альтернативы threads посмотрите на новый Parallel Extensions Framework, в котором .net есть кое-что полезное, что design-decisions может удовлетворить ваши csharp потребности без использования multithread ThreadPool
.
c#
.net
multithreading
design-decisions
Когда мне не следует использовать ThreadPool в .Net?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.