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

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

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

Цикличная работа программы - C++

10.11.2010, 10:31. Просмотров 438. Ответов 7
Метки нет (Все метки)

привет всем! как организовать цикличную работу программы? Например: каждую секунду необходимо запускать функцию, так вот проверку (прошла секунда или нет) организовал через while. понимаю что это не правильно, поскольку проц загружается на 100% при работе данной проги. поскажите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2010, 10:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Цикличная работа программы (C++):

Прекращена работа программы - C++
Написал программу. Суть в следующем - создаешь ее ярлык с заданными параметрами и при запуске с компьютером происходят след. действия:...

Построчная работа программы - C++
Добрый вечер! Большая просьба, объясните, пожалуйста, построчно, работу программы: int main() { int const x = 21; ...

Работа программы = 1 ГБ за 16 сек - C++
Собственно для начала посмотрите картинку, а вот теперь код: #include <iostream> #include <conio.h> #include <ctime> using...

Прекращена работа программы - C++
#include <iostream> #include <stdlib.h> #include <math.h> #include <stdio.h> #include <iomanip> #include <conio.h> #include...

Прекращена работа программы - C++
Написал следующую программу на visual c++ express 2010: #include <iostream> using namespace std; void main() { const int rows=3,...

Некорректная работа программы - C++
Суть программы в том, что есть записанные в файле слова с ответами (разделены "\t\t"). Программа считывает поочереди строки, разделяет ее...

7
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
10.11.2010, 10:49 #2
Sleep()
0
pav25
1 / 1 / 0
Регистрация: 10.11.2010
Сообщений: 8
10.11.2010, 10:59  [ТС] #3
согласен, не написал, прикрепил Sleep(), но загрузка процессора уменьшилась всего лишь с 100% до 50%. это не совсем рабочие характеристики проги.

Добавлено через 1 минуту
может есть более кооректное решение кроме Sleep()
0
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
10.11.2010, 10:59 #4
Показывайте код.
0
pav25
1 / 1 / 0
Регистрация: 10.11.2010
Сообщений: 8
10.11.2010, 11:45  [ТС] #5
объявление потока:
C
1
2
HWND hWnd=GetSafeHwnd();
AfxBeginThread(ThreadCalcQual, hWnd, THREAD_PRIORITY_NORMAL);
сам поток:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
UINT ThreadInputData(LPVOID param)
{
    while (true==bThreadCalcQ)
    {   
        InpData1.InputAllData();
        
        Calc1.ReadData();
 
        while(InpData1.GetTimeCalc() == InpData1.GetTimeNext())
        {
            InpData1.SetCurTime();
 
            if (false==bThreadCalcQ) break;
 
            Sleep(1); //- suspends the execution of the current thread for a specified interval
        }
    }
 
    return 0;
}
Добавлено через 2 минуты
Функция возвращает значение текущего времени: InpData1.GetTimeCalc()
возвращает значение времени для следующего расчета данных (через 1 сек.) InpData1.GetTimeNext()
0
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
10.11.2010, 12:39 #6
В ф-цию Sleep() передаётся значения задержки в миллисекундах.
0
pav25
1 / 1 / 0
Регистрация: 10.11.2010
Сообщений: 8
10.11.2010, 12:48  [ТС] #7
согласен. устанавливал значение 1, 100, 500. Загрузка проца от данной программы не менялась - 50%

Добавлено через 3 минуты
Ожидал, что кто-то подскажет как работают "настоящие программы" в которых происходит периодическое получение данных, обработка, либо вывод.
0
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
10.11.2010, 12:56 #8
pav25, такие программы ожидают на сообщение из очереди. Либо мютексы.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2010, 12:56
Привет! Вот еще темы с ответами:

Прекращена работа программы - C++
#include <iostream> #include <string> #include <conio.h> #include <windows.h> #include <stdio.h> /* run this program using the...

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

Некорректная работа программы - C++
Добрый день! Я попытался решить задачу № 5 "Статистика" с сайта acmp.ру. Текст задачи: Вася не любит английский язык, но каждый...

Прекращена работа программы с++ - C++
Помогите . #include <iostream> #include <vector> #include <iterator> using namespace std; bool sorted(int a,int razmer) { ...


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

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

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