Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fatalis
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
#1

Есть ли возможность выполнять цикл некоторое время - C++

25.09.2013, 23:40. Просмотров 363. Ответов 7
Метки нет (Все метки)

Существует ли в С++ возможность выполнять цикл,скажем,ровно 15 секунд,или таковой возможности нету?
Варианты вроде
C++
1
while (clock()-t1<(CLOCKS_PER_SEC*15))
Не предлагать :-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2013, 23:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Есть ли возможность выполнять цикл некоторое время (C++):

Выполнять цикл, пока не возникнет ошибка - C++
Доброго времени суток, как правильно обработать выход из цикла по возникновению исключения? Суть такова есть объект, реализация...

Почему программа не хочет выполнять цикл? - C++
Даны вещественные числа а, b, с(а &lt;&gt; 0) (которые задает пользователь с клавиатуры). Выяснить, имеет ли уравнение аx^2+ bх + с= 0...

Выполнение действий через некоторое время - C++
хочу сделать так чтобы на экран выводились всякие символы через некторое время. ну например: сначала на экран выводится П черех несколько...

прога запускается сама через некоторое время - C++
как осущиствить?Скажем открыл прогу,она должна добавляться в реестр что ли?Нужно чтобы через ень открылась снова Добавлено через 58...

Скорочтение (приостановить программу в консольном окне на некоторое время) - C++
Как приостановить программу в консольном окне на некоторое время, чтоб потом она автоматически выполнялась???

HRGN, CombineRgn. Программа работает некоторое время и виснит. - C++
Задача: искать пересечения регионов и подсчитывать их. В итоге: программа компилится, работает, работает...а потом виснит (своеобразно)...

7
UranFlex
131 / 129 / 21
Регистрация: 25.05.2013
Сообщений: 233
26.09.2013, 00:25 #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
#define N 5
 
int main() {
    cout << "Дальше будет задержка" << endl;
    sleep( N );
    cout << "Прошла задержка" << endl;
    return 0;
}
Думаю, что Вам нужна просто задержка. Ее можно вставить и в цикл и в куда-нибудь еще.
0
fatalis
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
26.09.2013, 20:00  [ТС] #3
Цитата Сообщение от UranFlex Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
#define N 5
 
int main() {
    cout << "Дальше будет задержка" << endl;
    sleep( N );
    cout << "Прошла задержка" << endl;
    return 0;
}
Думаю, что Вам нужна просто задержка. Ее можно вставить и в цикл и в куда-нибудь еще.
Нет,задержка мне не нужна. Она же полностью блокирует поток исполнения. Хотя,я уже нашел что-то подобное на решение
0
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,377
Завершенные тесты: 1
26.09.2013, 20:04 #4
Цитата Сообщение от fatalis Посмотреть сообщение
Она же полностью блокирует поток исполнения
Поток исполнения пустите в параллельном процессе.
0
fatalis
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
26.09.2013, 21:54  [ТС] #5
Цитата Сообщение от zss Посмотреть сообщение
Поток исполнения пустите в параллельном процессе.
И все это ради "слипа",который мне не нужен? Какой-то странноватый совет
0
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,377
Завершенные тесты: 1
26.09.2013, 22:02 #6
Цитата Сообщение от fatalis Посмотреть сообщение
Какой-то странноватый совет
Но у Вас же как раз желание следить за исполнением процесса со стороны.
Параллельный процесс как раз и будет этой стороной.
Если же решитесь сделать Win32 приложение, тогда можете воспользоваться таймером.
функция SetTimer запускает таймер и через указанное время в обработчик придет
сообщение WM_TIMER
0
fatalis
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
26.09.2013, 22:13  [ТС] #7
Цитата Сообщение от zss Посмотреть сообщение
Но у Вас же как раз желание следить за исполнением процесса со стороны.
Параллельный процесс как раз и будет этой стороной.
Если же решитесь сделать Win32 приложение, тогда можете воспользоваться таймером.
функция SetTimer запускает таймер и через указанное время в обработчик придет
сообщение WM_TIMER

Все,что мне было нужно,это проделать некоторый цикл некоторое количество времени.

И делать это,как оказалось,нужно так :

C++
1
2
3
4
5
    std::chrono::time_point<std::chrono::system_clock> start, end;
    start = std::chrono::system_clock::now();
    end   = std::chrono::system_clock::now();
    while (std::chrono::duration_cast<std::chrono::seconds>
           (end-start).count()<amount_of_seconds)
0
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,377
Завершенные тесты: 1
27.09.2013, 08:43 #8
А в чем принципиальное отличие от
while (clock()-t1<(CLOCKS_PER_SEC*15))
????????????????
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2013, 08:43
Привет! Вот еще темы с ответами:

Изменение фактического состояния объекта не мгновенно по вызове метода, а через некоторое время - C++
Хочу сделать чтобы после вызова метода объекта изменение состояния объекта происходило только через некоторое время, например 3 минуты. Как...

OpenMP. Возможность неблокировки UI на время вычислений - C++
насколько я понял OpenMP хорошо распараллеливает те участки программы, где ведется обработка больших массивов данных. можно ли как нибудь...

Есть ли возможность сызвать из C++ java class? - C++
Есть ли возможность сызвать из C++ java class?

Есть ли в C++ возможность работы с метаданными класса/структуры? - C++
Здравствуйте уважаемые форумчане. Есть ли в с++ возможность работы с метеоданными класса/структуры ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
27.09.2013, 08:43
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru