在阅读GenServer和Agent的文档时,我想知道Agent
解决GenServer
不能解决的用例是什么?那么,什么时候比Agent
更喜欢GenServer
?
我知道您自己的代理程序中定义的功能会在代理程序进程本身上执行,因此可以肯定这是一个很大的区别。
答案 0 :(得分:4)
在阅读GenServer和Agent的文档时,我想知道Agent解决GenServer无法解决的用例是什么?
没有一个GenServer
,因为Agent
是在GenServer
之上并且非常简单地实现的(仅查看the source)。
那么,什么时候更喜欢Agent而不是GenServer?
由Agent
实现的特殊情况已足够。没有异步回复,没有在调用和强制转换之间进行区分,等等。