--- Отредактировано после того, как вы отправили код ---
Ваша проблема в этом блоке строки кода
if(filesInRoot.length>0) {
... a lot of stuff goes here ...
try
{
Thread.sleep(FileCom.PROSchedule);
}
catch (InterruptedException ie)
{
ie.printStackTrace();
}
}
Так что если filesInRoot.length == 0
, вы не спите.
Вам нужно изменить код следующим образом:
if (filesInRoot.length > 0) {
... a lot of stuff goes here ...
}
try {
Thread.sleep(FileCom.PROSchedule);
} catch (InterruptedException ie) {
ie.printStackTrace();
}
--- Исходный пост следует ---
Возможно, вы делаете предположение, которое подходит для MacOSX, но не удаетсяв убунту.Кто знает, вы можете использовать процессор на 100%, потому что вы никогда не вводите блок кода, в котором находится ваш sleep(...)
.
Исходный код идеально подходит для проведения соответствующих обсуждений по таким темам.Без этого все становится игрой в догадки.Многие из нас умеют догадываться, но нам не нравится это делать.Он слишком подвержен ошибкам, и нам нравится поддерживать репутацию, по крайней мере, пытаясь предоставить полезную помощь.
Попробуйте поместить соответствующий код в очень маленькую примерную программу.В лучшем случае вы обнаружите и решите свою собственную проблему, прежде чем закончить пример.В худшем случае у вас будет рабочий пример отличающегося поведения, которое позволит другим предоставить вам значимые релевантные решения.