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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
#1

while(1); Процессор грузится на 50% - C++

30.07.2012, 13:07. Просмотров 2665. Ответов 38
Метки нет (Все метки)

По мнению диспетчера задач винды проц згрузиться на 50% прогой типа

C
1
2
3
int main(){
    while(1);
}
Это нормально или нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2012, 13:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос while(1); Процессор грузится на 50% (C++):

Что в программе делает так, что процессор грузится на 100%? - C++
Я не очень разбираюсь в С++, поэтому прошу вашей подсказки по поводу нагрузки на процессор. Вот код программы, на компьютере жрет всю...

Иногда грузится процессор непонятно чем, как посмотреть чем грузится? - Windows 7
Скорее всего вы скажете что мой вопрос тупой. Но порой у всех бывают такие случаи, когда в простое непонятно что работает и грузит в первую...

грузится процессор - Удаление вирусов
Здравствуйте. Сегодня произошел такой казус. Включил ноут, ждал полной загрузки, почти ничего не делал. Вдруг стал шуметь кулер, из...

Грузится процессор на 25-30% - Процессоры
Всем Добрый Вечер!Появилась у меня на днях проблема: после запуска игр,фотошопа,вегаса процессор начинает грузиться на 25-30%, даже после...

Процессор грузится на 100% - Удаление вирусов
Недавно проц. стал грузиться на 100% (или до 100%) непонятно почему. В основном пишут, что это может быть вирус. Я уже ни в чем не могу...

Процессор в простое грузится до 40% - Процессоры
у меня стоит win 7 professional. на робочем столе тоесть в простое проц грузится непонятно как от 5 до 40 %, вирусов нет и ничего в...

38
Catstail
Модератор
22711 / 11080 / 1795
Регистрация: 12.02.2012
Сообщений: 18,268
30.07.2012, 14:05 #16
Вопрос Soon-а абсолютно правомерен: в чем, собственно, проблема? 50% мало? Надо, чтобы было 100%?
В детских книгах по программированию обычно пишут: избегайте холостых циклов...
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
30.07.2012, 14:07 #17
Решение зависит от того, что происходит внутри такого бесконечного цикла.

Если код просто ожидает чего-нибудь, например, нажатие клавиши или изменения в файле, то это просто трата времени. Лучший вариант в таком случае -- изменение архитектуры приложения таким образом, чтобы ожидание производила какая-либо системная функция. Использование мультипоточности, мультизадачности или событиных библиотек выглядит наиболее логичным.

Если код непрерывно обрабатывает какие-то данные, то большая загрузка говорит, что процессор используется самым эффективным образом. Чтобы понизить загрузку процессора и замедлить работу программы, можно воткнуть какое-нибудь системное ожидание внутри цикла. Например, sleep(0). Это приостановит выполнение приложения на время, пока ОС не прогонит остальные процессы. Обычно около 30-50ms на Windows, на Linux результат сильно зависит от менеджера задач.
0
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
30.07.2012, 14:11 #18
Действительно наверное от ОСи многое зависит, интерестно что будет если запустить из под доса?
Даже не верится что цикл занимает работу целого ядра
0
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 14:16 #19
cactus09, Цикл Аля Вирус ?
0
soon
2541 / 1306 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
30.07.2012, 14:17 #20
Цитата Сообщение от xADMIRALx Посмотреть сообщение
Цикл Аля Вирус ?
Цикл Аля криворукий разработчик.
2
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 14:21 #21
soon,

Не по теме:

Все вирусописатели криворукии ?

0
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
30.07.2012, 14:23 #22
xADMIRALx,
soon, Пфф... это разве вирус это не вирус. Вот например если будед что то типо такого то это да система сразу глохнет
C++ (Qt)
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
  while(1){
  system("start Me.exe");}
}
Ну ясно что скомпилированный файл должен называтся Me.exe

Invader_Zim, Причем провел эксперемент место while использовал for
C++ (Qt)
1
2
3
4
int main()
{
  for(;;){}
}
также грусит на 25%

Не по теме:

И почему вы уважаемые xADMIRALx,soon, зделали меня главным виросописателем, главный виросописатель - Invader_Zim,

0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
30.07.2012, 14:25  [ТС] #23
xADMIRALx, странно как-то. А второй поток создавался средствами буста или на прямую через вин апи?
0
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 14:26 #24

Не по теме:

cactus09, Страно пишет не может найти me.exe,что делать ?



Добавлено через 51 секунду
Invader_Zim,
#include <process.h>
#include <Windows.h>

Буст ? не не слышал
0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
30.07.2012, 14:30  [ТС] #25
Как бы по теме: в первоначальной проге цикл нужен для отрисовки изображения с помощью glfw и опроса нажатия клавиш.
0
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
30.07.2012, 14:31 #26
xADMIRALx,

Не по теме:

Ты название скомпилированного экзншника смени на Me.exe или даже вот файл в архиве

0
Вложения
Тип файла: rar Me.rar (106.9 Кб, 10 просмотров)
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 14:33 #27
Invader_Zim, ну так используйте stl для вайта нажатия клавишы.ну а функции glfw (Я даж не знаю что эт такое)Наверника реализовавоны эффективно ))

cactus09,

Не по теме:

странно,опять открывается мое окно,что за фигня?Где вирус?

0
агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,061
30.07.2012, 14:39 #28
мда... термин "активный цикл ожидания" кажеться никому не знаком.... и что это одна из самых больших проблем в псевдо реалтайм системах аналогичных Windows тоже....
0
cactus09
Чайник
69 / 69 / 4
Регистрация: 15.02.2012
Сообщений: 475
30.07.2012, 14:40 #29
xADMIRALx,

Не по теме:

У тя винда? Если да, то странно ... , вообще должен открывать сам себя много много раз, а каждый открытый тоже открывать сам себя много много раз. Попробуй качни архив и из архива разархивируй и запусти

0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
30.07.2012, 14:41  [ТС] #30
xADMIRALx, glfw основана на OpenGL. Имеет различные ништяки, но вот всю эту красоту нужно реализовывать через бесконечный цикл, при прогоне котрого иногда появляются тормоза
0
30.07.2012, 14:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2012, 14:41
Привет! Вот еще темы с ответами:

процессор грузится на 100% - Удаление вирусов
Здравствуйте. У знакомой появилась такая проблемма: после очередного сеанса серфинга по интернету она скорее всего споймала вирус. После...

Сильно грузится процессор - Процессоры
Здравствуйте. У меня очень сильно грузится процессор. Даже когда, например, заходишь в ютуб или открываешь страничку в хроме поднимается...

Процессор грузится на 100% - Windows 7
Всем привет помогите пожалуйста советами и рекомендациями у меня процессор: Intel Core 2 Duo E8400 Wolfdale (3000MHz, LGA775, L2...

Черный экран, грузится процессор - Windows 7
Здравствуйте, у меня сегодня утром такая беда случилась: На ноуте windows 7 стоит, включаю его, как обычно ввожу пароль и дальше...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

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