我是新来的演员模型,并试图写一个简单的例子。我想使用Scala和Akka遍历目录树。程序应该找到所有文件并对每个文件执行任意(但快速)的操作。使用akka actors来遍历目录树
我想检查如何使用演员为递归建模? 当遍历完成时,我该如何优雅地阻止actor系统? 如何控制演员的数量以防止内存不足? 有没有办法让演员的邮箱变得太大? 如果文件操作需要很长时间才能执行,会有什么不同?
任何帮助,将不胜感激!
我是新来的演员模型,并试图写一个简单的例子。我想使用Scala和Akka遍历目录树。程序应该找到所有文件并对每个文件执行任意(但快速)的操作。使用akka actors来遍历目录树
我想检查如何使用演员为递归建模? 当遍历完成时,我该如何优雅地阻止actor系统? 如何控制演员的数量以防止内存不足? 有没有办法让演员的邮箱变得太大? 如果文件操作需要很长时间才能执行,会有什么不同?
任何帮助,将不胜感激!
首先要注意的是有两种类型的工作:遍历文件层次结构和处理单个文件。作为您的第一个实现尝试,请创建两个actor,actor A和actor B. Actor A将遍历文件系统,并将消息发送给actor B,并提供要处理的文件的路径。当演员A完成时,它向演员B发送“全部完成”指示符并终止。当演员B处理“全部完成”指示符时,它终止。这是您可以用来学习如何使用演员的基本实施。
其他一切都是这个变化。下一个变体可能是用共享邮箱创建两个actor B.关机有一点涉及,但仍然简单明了。下一个变化是创建一个调度员演员,该演员将工作分配给一个或多个演员B。下一个变体使用多个演员A来遍历文件系统,并由一个主管来控制有多少演员创建。
如果你遵循这个发展计划,你将学到很多关于如何使用Akka的知识,并且可以回答你所有的问题。