随着多核CPU的出现,我们需要能够利用这些额外内核的编程模式,以并发的方式处理任务。 Actor模型就是这样一种模式,它模拟了大量独立的工作,以任何顺序处理,不需要锁同步。 Actor模型的一个非常普遍的用法可以在网络服务器中找到,Java中的Play! Java中的框架就是一个例子。一般来说,任何并发的应用程序都可以建立在Actor模型之上。
在这篇文章中,我将实践如何用Go实现一个原始的actor模型。我们将利用Go为并发提供的工具–goroutines、channels和wait groups。