Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.94/16: Рейтинг темы: голосов - 16, средняя оценка - 4.94
Invader_Zim
Twilight Parasite
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
1

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

30.07.2012, 13:07. Просмотров 2878. Ответов 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
Ответы с готовыми решениями:

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

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

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

Грузится процессор
Здравствуйте! Если открыто много что, то процессор грузится в диапазоне 5-8%, а...

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

38
xADMIRALx
67 / 61 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 13:10 2
Windows XP ? Всё понятно )))
0
Invader_Zim
Twilight Parasite
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
30.07.2012, 13:16  [ТС] 3
xADMIRALx, а можно отсюда по подробнее?)
0
xADMIRALx
67 / 61 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 13:18 4
Invader_Zim, Да проста сталкивался с такой траблой,как она меня бесила еслиб ты знал,поэтому прыгнул на севен ну а потом уже на восемь ))) Сейчас сижу на восьмере и всем рад )))

Кстати решение проблемы должно помочь вывести цикл в отдельный поток

UPD:
Тупанул,что то не то,щас разбираюсь
0
Invader_Zim
Twilight Parasite
154 / 150 / 7
Регистрация: 21.07.2011
Сообщений: 908
30.07.2012, 13:30  [ТС] 5
xADMIRALx, решение под ХР не сильно интересует, т.к. сейчас все в основном на 7-8. Просто лично мне они не нравятся)
0
xADMIRALx
67 / 61 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 13:37 6
Invader_Zim, Запуск в другом потоке помог ) загрузка проца упала на 20%
0
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
30.07.2012, 13:38 7
Ребят, а вы, пардон, что пытаетесь выяснить?
1
xADMIRALx
67 / 61 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 13:41 8
soon, Почему while(1); грузит проц на 50% )))
0
Intel~lect
30.07.2012, 13:41
  #9

Не по теме:

xADMIRALx, А почему у меня 100% загружает? Windows 7

0
xADMIRALx
67 / 61 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 13:42 10
Intel~lect,

Не по теме:

Даж не знаю,видать проц одноядерный.

0
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
30.07.2012, 13:46 11
Цитата Сообщение от xADMIRALx Посмотреть сообщение
Почему while(1); грузит проц на 50% )))
Ну. И в чем проблема?
0
xADMIRALx
67 / 61 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 14:00 12
soon, Ну я так понял что нужно уменьшить нагрузку на цп )))
0
cactus09
Чайник
69 / 69 / 9
Регистрация: 15.02.2012
Сообщений: 475
30.07.2012, 14:02 13
У меня CPU грузит на 25%, но это наверное потому что проц 4ёх ядерный.
0
Миниатюры
while(1); Процессор грузится на 50%  
xADMIRALx
67 / 61 / 5
Регистрация: 09.06.2012
Сообщений: 291
30.07.2012, 14:03 14
cactus09, интересно получается )) чем больше ядер тем меньше проц грузится,Видать винда контролирует что кому когда куда )))
0
Vort_
191 / 191 / 78
Регистрация: 10.07.2012
Сообщений: 400
30.07.2012, 14:04 15
100% - это загрузка всех ядер
соответственно, 50% - это загрузка одного ядра из двух или двух ядер из четырёх
если создать два потока и в каждом запустить while(1), то как раз 100% и выйдет
0
Catstail
Модератор
23619 / 11719 / 2047
Регистрация: 12.02.2012
Сообщений: 19,118
30.07.2012, 14:05 16
Вопрос Soon-а абсолютно правомерен: в чем, собственно, проблема? 50% мало? Надо, чтобы было 100%?
В детских книгах по программированию обычно пишут: избегайте холостых циклов...
0
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
30.07.2012, 14:07 17
Решение зависит от того, что происходит внутри такого бесконечного цикла.

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

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

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

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

Процессор грузится до 100 %
Здравствуйте , подскажите пожалуйста что может быть , процессор сразу после...


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

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

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