Я изо всех сил пытаюсь найти примеры, блоги и т. Д., В которых объясняется, как использовать оператор !?
для отправки блокирующего сообщения актеру в Scala.Когда я (наивно) пытаюсь просто использовать его, ожидая, что он заблокируется, пока субъект не выполнил действие сообщения, поток просто блокируется.Например,
scala> :paste
// Entering paste mode (ctrl-D to finish)
class A extends Actor {
def act {
loop {
react {
case 5 => println("hello")
}
}
}
}
// Exiting paste mode, now interpreting.
defined class A
scala> val a = new A
a: A = A@10115870
scala> a.start
res5: scala.actors.Actor = A@10115870
scala> a !? 5
hello
Execution interrupted by signal. // I just pressed Ctrl+C
Я не могу найти ничего в своем издании «Программирование Scala», и я, вероятно, просто глуп, но кто-то может указать мне правильное направление?
От чегоЯ могу почерпнуть из документации по API. Мне нужен актер блокировки, чтобы отправить сообщение обратно вызывающей стороне?Но как и где звонящий получает это сообщение?Любые ссылки на примеры и т. Д. Будет приветствоваться.К сожалению, поиск в Google для !?
менее чем полезен.