Автор Ника Рика задал вопрос в разделе Другие языки и технологии
С++. Многопоточность. Синхронизация send и recv и получил лучший ответ
Ответ от Spy[гуру]
MPI_Recv( charBuf, charBufSize, MPI_CHAR, MPI_ANY_SOURCE, tagCharData, ..);
Теперь, если в момент выполнения сообщение с идентификатором tagCharData придет раньше двух остальных, MPI будет вынужден "законсервировать" его на время выполнения первых двух вызовов MPI_Recv. Это чревато непроизводительными расходами памяти. MPI_Probe позволит задать порядок извлечения сообщений в буфер пользователя равным порядку их поступления на принимающую сторону, делая это не в момент компиляции, а непосредственно в момент выполнения:
for( i=0; i<3; i++ ) {
MPI_Probe( MPI_ANY_SOURCE,MPI_ANY_TAG,MPI_COMM_WORLD,&status );
switch( status.MPI_TAG ) {
case tagFloatData:
MPI_Recv( floatBuf, floatBufSize, MPI_FLOAT, ..);
break;
case tagIntData:
MPI_Recv( intBuf, intBufSize, MPI_INT, ..);
break;
case tagCharData:
MPI_Recv( charBuf, charBufSize, MPI_CHAR, ..);
break;
} /* конец switch */
} /* конец for */
Многоточия здесь означают, что последние 4 параметра у MPI_Recv такие же, как и у предшествующей им MPI_Probe.
Источник: http://ilya-evseev.narod.ru/articles/mpi/Spy
Гуру
(3411)
увы...
когда-то давным-давно делал я подобную хрень.
так вот, у меня был менеджер и бесконечный цикл с паузой в конце =)
менеджер в цикле:
1. пробегался по всем подключенным сокетам и пытался из них читать. получалось - отправлял данные привязанному агенту.
2. после этого он смотрел в свою очередь исходящих и писал в нужные сокеты данные из очереди.
3. немного поспал - и заново.
да, одновременной обработки 100500 сообщений не было, но поддержка 25 устройств внешне даже real-time казалась
Сколько километров от города Шумерля до Питера?
Расстояние от города Чебоксары до Санкт-Петербурга по автодороге - 1365 км. От Чебоксар до Шумерли
подробнее...
cколько часов ехать от Воронежа до Удмуртии и сколько это примерно км ??
Расстояние г. Воронеж - г. Ижевск (cтолица Удмуртии) по автодороге - 1401 км ( рулить больше 20
подробнее...
Как доехать из Москвы до Аносино? Автобусы, маршрутки и станции от которых они идут, как их найти. Помогите пожалуйста
от ст. Тушинская на электричке до Нахабино, а там автобус
подробнее...
Как восстановить файлы на переносном жестком???
RS File Recovery — простой и мощный инструмент для самостоятельно восстановления удаленных файлов.
подробнее...
как восстановить данные со съёмного жёсткого диска после форматирования?подскажите пожалуйста.очень нужно.
могу посоветовать прогу чтобы скопировать файлы с нечитаемых флешек, карт памяти, жёстких дисков,
подробнее...
Как восстановить удаленные файлы? Помогите, пожалуйста.
Есть специальная программа для восстановления случайно удалённых из корзины файлов. Называется
подробнее...
Подскажите как смотреть фильмы онлайн на айпаде, через какую прогу ?
Чтобы посмотреть фильм онлайн на айпаде, нужен доступ в интернет и сайт, который предоставляет
подробнее...
Сколько км от Москвы до Чулково? и на чем ехать с Казанского вокзала? подскажите пожалуйста!
На машине
От МКАД на машине можно доехать по Ново-Рязанскому шоссе. Проехав мост через Москву
подробнее...
Подскажите самую надёжную прогу для восстановления стёртых данных.
Recuva 1.29.429
Программа для восстановления файлов, случайно удаленных с жестких дисков
подробнее...
посоветуйте аниме вроде вторжения гигантов и подскажите, будет ли 2 сезон?
На счет второго сезона.
Спросите это месяца через три. Аниме только что вышло, еще
подробнее...
Подскажите аниме похожее на атаку титанов! Чтоб было очень очень интересно!
Claymore / Клеймор
В этом мире существуют монстры Йома, охотящиеся на людей и пожирающие своих
подробнее...
Если метчик на 10мм, какое нужно сверло?
Ну начни с восьмёрки. Я просто метчиками никогда не резал. Но думаю что
подробнее...
необходимо добраться из домодедово до ленинградского вокзала а оттуда до Лунево солнечн. р-н до воинской части Хелп!
в/ч эта? -
Учебная воинская часть Центрального регионального командования Внутренних войск МВД
подробнее...