Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2014, 22:18   #1
Enishnus
Новичок
Джуниор
 
Регистрация: 17.03.2014
Сообщений: 1
По умолчанию Вывод задерживается до конца выполнения последующих действий

Занимаюсь параллельным программированием.
Суть в том, что некоторые действия выполняются сравнительно долго (до нескольких минут).
Для того, чтобы пользователь не начал паниковать во время этих действий, я хочу вывести сообщение
"Creating matrix. Please wait...",
а по окончании выполнения -
"DONE!".

Суть проблемы в том, что первая строка (Creating...)
не выводится до тех пор, пока не выполнится основной алгоритм
(здесь - создание матрицы).

И в конце выводится одновременно:
"Creating matrix. Please wait... DONE!".

Код:
cout << "Creating matrix. Please wait... ";
for (y = 1; y <= size; y++)
{
#pragma omp parallel for num_threads(thr) shared(Matrix, y, x) 	//private ()
for (x = 1; x <= size; x++)
{
	Matrix[y][x] = rand()%1000;
								//cout.width(5); cout << Matrix[y][x];
}
								//cout << endl;
}
cout << "DONE!" << endl;
Вывод же стоит ПЕРЕД действием!

Последний раз редактировалось Enishnus; 17.03.2014 в 22:24.
Enishnus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графическое условие для выполнения действий Miha1354 Мультимедиа в Delphi 6 12.10.2013 02:06
Порядок выполнения действий в процедуре Dennis777 Общие вопросы Delphi 1 07.02.2013 21:43
Вывод массива с конца gufon PHP 1 24.12.2010 16:30
выполнения арифметических действий над обыкновенными дробями jenja Общие вопросы C/C++ 1 24.10.2008 10:35