У меня есть общая проверка, которая должна быть выполнена на ок. 1000 предметов. Проверка занимает около 3 секунд. У нас есть сервер с 4 процессорами (и в нашей сети также есть другие многопроцессорные серверы), поэтому мы хотели бы создать exe / dll для проверки и вернуть результаты «хозяину».
Кто-нибудь знает структуру для этого или как можно это сделать в C #?
В частности:
- Каков наилучший способ передачи данных между мастером и рабочим процессом?
- Как мастер обеспечит, чтобы всегда выполнялись 4 процесса одновременно, и как только рабочий процесс завершится, запустите новый.
- Как зарегистрировать, что работник закончил, и добавить его результаты в список?
Надеюсь, это достаточно ясно, но с удовольствием уточню.
A.
Некоторые уточнения
* Между вызовом и возвратом процесса фактически нет межпроцессного взаимодействия, например,
ResultObject = WorkerProcess(HeresYourDataSonDoSomethingWithIt);
* Первоначально одна машина является обязательной, но если подумать дальше, у нас, вероятно, будут случаи, когда у нас есть 6000 объектов для проверки, и мы хотели бы использовать их на нескольких серверах, поэтому мы хотели бы сделать правильный выбор дизайна из начало, или, по крайней мере, не разрабатывать решение для одного сервера, которое должно быть полностью переписано для нескольких.
Спасибо!