Scala Actors: если react никогда не возвращается, почему он должен быть в цикле{}, и почему пока (true) не работает?

Только начинаем работу над Scala Actors. На веб-сайте Scalaговорится:

Операций блокировки потоков можно избежать, используя react, чтобы подождать новые сообщения (кулон на основе событий прием). Тем не менее, существует (обычно небольшая) цена, которую нужно заплатить: reactникогда не возвращается.

...

Обратите внимание, что использование reactвнутри цикла , в то время как цикл не работает! Однако Поскольку циклы являются общими, для них существует специальная библиотечная поддержка в форме функции loop. Его можно использовать следующим образом:

loop {
  react {
    case A => ...
    case B => ...
  }
}

Я сейчас в замешательстве - кажется, есть противоречие:

а) Если отреагироватьникогда не вернется, тогда какой смысл помещать его в цикл?

b) Поскольку цикл многократно выполняет блок, чем он отличается от while(true)- почему whileработает, и каким образом он «не работает»?

13
задан DNA 14 March 2012 в 22:50
поделиться