Модель для многопотоковых задач
- Михаил23
- adviser
- Сообщения: 219
- Зарегистрирован: 24 ноя 2008, 17:58
- Версия LabVIEW: 2009
- Откуда: Москва
Модель для многопотоковых задач
Надо сделать программу которая бы по максимуму будет использовать возможность распараллеливания вычислений. Т.е. например у меня есть заранее неизвестное кол-во задач которые будут реализовываться на Mathscript и они могут работать одновременно(есть например папка в которую пользователь кидает текстовые файлы с задачей и они рассчитываются с какой то периодичностью). Какую структуру лучше выбрать? Есть ли возможность не ограничиваться при программировании например 4 потоками, а определять их по кол-ву файлов в папке(ну и чтоб это работало в exe)? Есть ли вообще это делать или задаться например 6 потоками и на этом "успокоится"? Во общем любые идеи в этом направлении.
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Модель для многопотоковых задач
Сделать чтобы параллельные потоки появлялись в любом количестве по какому-то условию можно и довольно легко. Посмотри проект чат. Там на сервере для каждого подключающегося клиента запускается параллельный процесс. Когда клиент отключается - процесс заканчивает работу. Сервер хранит все живые в нынешний момент процессы в массиве. По этому массиву может искать нужный процесс и общаться с ним.Михаил23 писал(а):Надо сделать программу которая бы по максимуму будет использовать возможность распараллеливания вычислений. Т.е. например у меня есть заранее неизвестное кол-во задач которые будут реализовываться на Mathscript и они могут работать одновременно(есть например папка в которую пользователь кидает текстовые файлы с задачей и они рассчитываются с какой то периодичностью). Какую структуру лучше выбрать? Есть ли возможность не ограничиваться при программировании например 4 потоками, а определять их по кол-ву файлов в папке(ну и чтоб это работало в exe)? Есть ли вообще это делать или задаться например 6 потоками и на этом "успокоится"? Во общем любые идеи в этом направлении.
Я или Eugen Graf можем ответить на твои вопросы и объяснить если что-то будет непонятно.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
- Михаил23
- adviser
- Сообщения: 219
- Зарегистрирован: 24 ноя 2008, 17:58
- Версия LabVIEW: 2009
- Откуда: Москва
Re: Модель для многопотоковых задач
Сильно ли это увеличивает производительность приложения и экономит ресурсы железа?
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Модель для многопотоковых задач
Вызов VI с помощью Call By Reference Node, а не из блокдиаграммы несколько дольше, но т.к. вызывать данную VI вы будите всего один раз для каждого файла - на эту потерю времени можно забить.Михаил23 писал(а):Сильно ли это увеличивает производительность приложения и экономит ресурсы железа?
Зато нефиксированное количество параллельных процессов очень развяжет вам руки.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 263 Просмотры
-
Последнее сообщение ujin1