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