什么功能eventloop
在 Scala 中做 Actors它有什么用?
最佳答案
eventloop
与 loop
类似和 react
被结合。 loop
的区别和 eventloop
是loop
,实际上,不会递归调用主体(以防止基于线程的参与者的堆栈溢出),而是调度处理( react /接收)来自邮箱的下一条消息,并完成当前处理程序的执行并抛出异常,清除调用堆栈。eventloop
使用 react
递归处理消息- 在 react
的情况下它是安全的(并且堆栈不会溢出),因为 react
的主体(但不是 receive
!)在大多数情况下总是以异常结束,并安排下一个循环,以保证所有参与者对线程池的公平访问。因此,eventloop
只能与事件驱动的 actor 一起使用。
import scala.actors._
import Actor._
class EventLoop extends Actor {
def act = eventloop{
case msg => println("Received " + msg)
}
}
关于scala - 函数 "eventloop"在 Scala Actors 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317053/