在幕后,如何在Scala Actors中实现邮箱(演员的消息队列)?
我认为它是MessageQueue
,但它已被弃用,并注明“此类将在以后的版本中删除”。看起来它可能在Channel
中,但我想了解消息队列本身的实现细节。
答案 0 :(得分:3)
请参阅:http://lampsvn.epfl.ch/trac/scala/browser/scala/tags/R_2_8_0_final/src/library/scala/concurrent/MailBox.scala
看起来它基本上只是一个链接列表,如果在发送完成时有一个等待的接收器,则会被绕过。发件人和收件人在MailBox对象上同步,发件人通知唤醒等待的接收者。