Каков наиболее эффективный метод назначения потоков на основе следующего сценария?C#

Место общения программистов C#
Ответить
Anonymous
 Каков наиболее эффективный метод назначения потоков на основе следующего сценария?

Сообщение Anonymous »

Я могу одновременно запускать максимум 5 потоков, что позволяет использовать 5 отдельных аппаратных средств для ускорения выполнения некоторых сложных вычислений и возврата результата. API (содержит только один метод) для каждого из этих аппаратных средств не является потокобезопасным и может работать только в одном потоке в любой момент времени. После завершения вычисления тот же поток можно повторно использовать для запуска другого вычисления на том же или другом оборудовании в зависимости от доступности. Каждое вычисление автономно и не зависит от результатов других вычислений. Следовательно, до 5 потоков могут завершить свое выполнение в любом порядке.

Какое решение для кодирования на C# (с использованием .Net Framework 2.0) является наиболее эффективным для отслеживания того, какое оборудование свободно/доступно, и назначения потока соответствующему аппаратному API для выполнение вычислений? Обратите внимание, что кроме ограничения в 5 одновременно работающих потоков, я не могу контролировать, когда и как запускаются потоки.

Пожалуйста, поправьте меня, если я ошибаюсь, но решение без блокировки является предпочтительным, поскольку я считаю, что оно приведет к повышению эффективности и более масштабируемому решению.

Также обратите внимание, что это не домашнее задание, хотя это может звучать так. ..

Подробнее здесь: https://stackoverflow.com/questions/765 ... ollowing-s
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»