Почему блокировка вместо цикла?

Каковы некоторые причины, по которым написание следующего куска кода считается плохой практикой?

  while (someList.isEmpty()) {
    try {
      Thread.currentThread().sleep(100);
    }
    catch (Exception e) {}
  }
  // Do something to the list as soon as some thread adds an element to it.

Для меня выбор произвольного значения для сна не является хорошей практикой, и я бы использовал BlockingQueue в этой ситуации, но я хотел бы знать, есть ли более чем одна причина, по которой не следует писать такой код.

6
задан templatetypedef 12 January 2012 в 07:14
поделиться