1

我学习/编程 Erlang 越多,我就越意识到我必须学习。但在这里我想确认或消除我一直在做的一个假设:

假设有两个模块。一个我打包成一个库;另一个我打包为服务器。问:为什么要区分?

假设:第二个模块中的功能要么需要保持与系统其余部分隔离的状态,要么与其他功能同时运行。

这是真的吗?将模块打包为服务器的仅有两个原因吗?

谢谢,

LRP

4

1 回答 1

0

一般来说,你是对的,一个模块可能只是一个函数的集合。它不存储任何状态,也没有持久化进程。或者它可以是以一个或多个进程的形式保持状态的东西。这通常使用 gen_server、gen_fsm 或 gen_event 来完成,具体取决于您要使用它的目的

(当然你也可以在 mnesia/ets 中保持状态)

于 2013-11-20T12:38:29.213 回答