erlang - 如何使用rpc :pmap correctly?

标签 erlang rpc pmap

我在模块 rpc 函数中找到了 pmap .我在尝试使用它时卡住了。

第一个问题 - 它是否需要与其他节点连接,或者如果没有与其他节点连接,它会执行 lists:map 吗?

我试图在没有连接到其他节点的情况下执行 pmap,但出现异常:

7> rpc:pmap( { erlang, '+' }, [], [[1,1],[2,3]] ).          
** exception exit: badrpc
     in function  rpc:check/2 (rpc.erl, line 745)

之后 - 我启动了另一个本地节点并将其连接到电流。但是仍然得到同样的错误。

请告诉我如何正确使用rpc:pmap

谢谢

附言 以下代码按预期工作(返回结果 3):

70> erlang:apply( erlang, '+', [1,2] ).
3
71> erlang:'+'(1,2).
3

最佳答案

rpc:map({Module, Function},ExtraArgs,List1) 为 List1 中的每个元素 Elem 并行计算 apply(Module, Function, [Elem|ExtraArgs])。

所以使用 erlang:'+' 的正确语法是:

1> rpc:pmap( { erlang, '+' }, [2], [1,2,3] ).

[3,4,5]

2>

计算 [1+2,2+2,3+2]

语法 rpc:pmap( { lists, sum }, [], [[1,2],[4,5]] ) 将评估 [1+2,4+5] 并返回 [3,9]

帕斯卡

关于erlang - 如何使用rpc :pmap correctly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12284052/

相关文章:

linux - 为Linux中的内存映射文件保留物理内存

erlang - Erlang 梁文件的便携性如何?

security - 你如何在不创建新语言的情况下为 Erlang 添加功能?

java - 如何对 Telegram api 进行 RPC 调用?

parallel-processing - 并行映射和并行for循环之间的区别

r - 列表列数据框中的 purrr pmap

random - Erlang - 带有 Makeref 的随机数生成器

erlang - 名为timer_server的gen_server导致定时器模块函数不返回

web-services - 远程过程调用和 Web 服务有什么区别?

architecture - 如何在 Apache Spark 上运行 RPC 服务器?