-
Notifications
You must be signed in to change notification settings - Fork 26
Ideas
Xiongfei(Alex) GUO edited this page May 17, 2014
·
2 revisions
- 每个Actor支持同时监听有限个消息,并且可以向任何其他Actor无阻塞的发送消息
- Actor有唯一的ID或名字,作为他人发送消息到自己的标识。
- Scheduler有唯一的队列处理所有其他Actor发来的消息,且一次只处理一个消息。
- Actor向Scheduler注册timeout、signal或者fd等事件,事件触发后,Scheduler发送一条消息给对应的Actor,用于通知对应的Actor该事件的发生。
- Scheduler并不负责接收socket等操作,只负责监听和通知相应事件的发生。Actor才负责处理外部事件。
- 错误处理:
- 如果一个Actor出错了,那么Schedular在捕获这个错误之后销毁对应的Actor。-
- 而在销毁之前,Schedular会发送相关的错误消息和Actor自身到创建这个Actor的父Actor,由父Actor进行一些错误的处理和善后工作。
- 如果最初被Scheduler被创建的Actor出错了,则直接raise这个错误,由上一级处理。
- scheduler是否应该对用户可见?
- 开发者是否可以自己重载scheduler中的算法,用来实现比如优先级的调度等等