У меня есть четырехядерный процессор, сколько потоков может обрабатывать домен приложения? Есть ли какие-нибудь способы динамически определять доступные ресурсы на машине и исходя из этого создавать оптимальное количество потоков и участков памяти для обработки какой-нибудь поступающей информации?
Здравствуйте, stepi4, Вы писали:
S>У меня есть четырехядерный процессор, сколько потоков может обрабатывать домен приложения? Есть ли какие-нибудь способы динамически определять доступные ресурсы на машине и исходя из этого создавать оптимальное количество потоков и участков памяти для обработки какой-нибудь поступающей информации?
Определение кол-ва процессоров — Environment.ProcessorCount
Стандартный ThreadPool — 25 потоков на каждый процессор. Но оптимальность загрузки — сильно зависит от решаемой задачи.
спасибо за инфу, а оптимальное число потоков по идее равно кол-ву процессоров?
Здравствуйте, GlebZ, Вы писали:
GZ>Здравствуйте, stepi4, Вы писали:
S>>У меня есть четырехядерный процессор, сколько потоков может обрабатывать домен приложения? Есть ли какие-нибудь способы динамически определять доступные ресурсы на машине и исходя из этого создавать оптимальное количество потоков и участков памяти для обработки какой-нибудь поступающей информации?
GZ>Определение кол-ва процессоров — Environment.ProcessorCount
GZ>Стандартный ThreadPool — 25 потоков на каждый процессор. Но оптимальность загрузки — сильно зависит от решаемой задачи.
Здравствуйте, stepi4, Вы писали:
S>спасибо за инфу, а оптимальное число потоков по идее равно кол-ву процессоров?
Мне кажется этот вопрос в каждом приложении решается по-своему (imho)
Если у вас задача такая, что поток может заблокироваться на большой промежуток времени, то возможно количество потоков должно быть большим, нежели количество процессоров. Иначе система может встать в ступор
<offtopic>
Сейчас, кстати, в разделе "философия программирования"
remark
поднял тему, обсуждающую правильное построение многопоточных программ для многопроцессорных машин. Может быть вам это покажется интересным

</offtopic>
Удачи!