Просто начните с Scala Актеров. На веб-сайте Scala говорится:
Операции блокировки потоков можно избежать, используя
react
для ожидания новые сообщения (кулон, основанный на событииreceive
). Однако существует (как правило, небольшие), чтобы заплатить:react
никогда не возвращается....
Обратите внимание, что использование
react
внутри циклаwhile
не работает! Однако, поскольку петли являются общими, для него существует специальная поддержка библиотеки в форме функцииloop
. Его можно использовать следующим образом:
loop {
react {
case A => ...
case B => ...
}
}
Теперь я запутался - похоже, есть противоречие:
a) Если react
никогда не возвращается, то какая точка помещает его в цикл?
b) Поскольку loop
многократно выполняет блок, как он отличается от while(true)
- почему не работает while
и каким образом он "не работает"?