Показать сообщение отдельно
Старый 23.01.2014, 16:53   #5
Zorko
AnyKey`щик
 
Регистрация: 18.07.2012
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Аналог паскалевского Delay без введения потока.

Всем привет! Накопилась парочка вопросов.

Сообщение от Romanzes Посмотреть сообщение
И InterruptedException ловить не забываем.
Вопрос №1: насколько важно ловить InterruptedException в данном случае? Я смотрел чужие исходники на Java ME и видел как люди часто пихают обработку исключений где надо и где не надо. Не то чтобы я не сторонник такого подхода, надёжность важнее, но интересно знать наверняка какие именно исключения могут прийти при вызове Thread.sleep на реальном железе? Что именно может помешать телефону впасть в спячку?

Вопрос №2: допустимо ли, ожидая событие (например, нажатие кнопки), периодически опрашивать состояние события (переменной, которую устанавливает метод lcdui.Canvas.keyPressed в отдельном потоке) с последующим засыпанием на 1 мс по Thread.sleep(1)? Т.е. не будет ли такой код создавать излишнюю нагрузку на телефон? (ну может лучше до 10 мс увеличить время ожидания, например):

  while(!keyPressed) {
    try
    {
      Thread.sleep(1);
    }
    catch (InterruptedException e)
    {
      ;
    }
  }
Приветствуются компетентные ответы. Неохота работать наобум, интересно узнать что происходит на самом деле.
(Offline)
 
Ответить с цитированием