Я упустил мысль о состоянии остановки цикла, и поэтому программа не прекращала поднимать ЦП до его пределов.
Весь процесс Intellij зависает и полностью перестает отвечать, зная, что моя машина использует i7, и я работаю в Ubuntu, которая обычно работает в многозадачном режиме, как любая современная ОС. Я представляю решение, такое как приостановка программы, если она продолжает выполняться без изменения состояния, после временного порога или просто, когда состояние памяти застаивается (можно подумать о многих идеях).
Существует ли устоявшееся решение для программирования, позволяющее оставаться в безопасности от одной из этих ситуаций (при тестировании я знаю, что бесконечная программа может быть полезной), но в случае бесконечного выполнения основных операций ЦП это не так.
Помогает ли работа внутри другого потока расходовать ресурсы ЦП на диспетчеризацию?
Есть ли в Intellij способ избежать такой ситуации?
int rect_a = 100;
int rect_b = 50;
for (int j=1; j<rect_a; j++) {
for (int i=0; i<j; i++) {
//some computation
j = method() that returns 0 alwayse. (bad logic)
}
}