问题标签 [gen-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - Erlang 停止 gen_server
我有 gen_server:
现在我想编写函数来停止这个 gen 服务器。我有:
我运行它:
但:
是工作。
如何按名称运行 gen_server 并按名称停止?
谢谢你。
erlang - Erlang 将消息投射到全局 gen_server
这是上一个问题的继续
我有 gen_server:
如何正确地向这个 gen_server 发送消息。例如:在我制作的另一个文件中:
在我的 gen_server 文件中,我有:
我用测试名称启动我的 gen_server:
服务器:开始(测试)。测试开始
当我调用gen_server:cast(test, message).
它时,shell 中没有任何输出。我如何检查 handle_cast 调用与否?
谢谢你。
erlang - Erlang gen_server 转换错误的返回值
我尝试将消息投射到 gen_server:
处理程序是:
但是当我执行gen_server:cast
gen_server 时出现错误:
为什么我会得到bad_return_value
?
erlang - Erlang 启动 gen_server 阻塞代码
我的 erlang 代码中有 gen_server 。当我尝试运行它之后的下一个代码不起作用。例如:
现在 io:format/1 不起作用。如果我使用 spawn 运行 gen_server:
现在 io:format 工作了。为什么?
谢谢你。
erlang - 如何使用 Erlang 的 gen_server 定期执行操作?
我想启动一个 gen_server ,它每分钟执行一个动作。
安排它的最佳方式是什么?
erlang - 如何在erlang中测试gen server?
我是 erlang 的初学者,我编写了一个基本的 gen 服务器程序,如下所示,我想知道如何测试服务器,以便我知道它运行良好。
顺便说一句:程序可以编译,它不是一个好的程序,我只是想打印一些东西以确保它可以工作:)
erlang - 解决两个 gen_tcp 之间的死锁
在浏览 erlang 应用程序的代码时,我遇到了一个有趣的设计问题。让我描述一下情况,但由于 PIA 抱歉,我无法发布任何代码。
该代码被构造为一个 OTP 应用程序,其中两个gen_server
模块负责分配某种资源。该应用程序在一段时间内完美运行,我们并没有真正遇到大问题。
当第一个gen_server
需要检查第二个是否有足够的资源时,棘手的部分就开始了。Acall
被发布到第二个 gen_server,它本身调用一个实用程序库(在非常非常特殊的情况下)call
向第一个 gen_server 发布 a。
我对 erlang 比较陌生,但我认为这种情况会让两个 gen_server 互相等待。
这可能是一个设计问题,但我只是想知道 OTP 中是否有任何特殊机制可以防止这种“挂起”。
任何帮助,将不胜感激。
编辑:总结答案:如果您遇到两个彼此循环的情况,您最好在应用程序设计中花费更多时间gen_server
。call
谢谢你的帮助 :)
erlang - Erlang 消息可以发送哪些类型的消息?
主要是我想知道我是否可以在分布式 Erlang 设置中的消息中发送函数。
在机器 1 上:
在机器 2 上:
是否有意义?
erlang - 何时使用 Gen_Fsm 以及何时使用 Gen_Server?
查看 Gen_Fsm 和 Gen_Server 文档后,我发现它们或多或少具有相似的行为。在我看来,如果有一个循环函数用于发送广播或监听 tcp sock,最好使用 Gen_Fsm,否则使用 gen_server。我想知道它是否正确?
erlang - Erlang 异步消息处理与 gen_server:cast/2
我正在寻找使用 gen_server:cast/2 处理Erlang异步消息的好例子。
我在OTP ssh模块中看到过一个例子,它通过Module:handle_cast/2接收请求,将其保存在模块的本地队列中,稍后通过显式发送消息发送回与请求对应的回复消息给来电者。当我试图阅读它时,我几乎无法跟踪代码,也无法掌握这个想法。
一段伪代码表示赞赏。