`
coderplay
  • 浏览: 578023 次
  • 性别: Icon_minigender_1
  • 来自: 广州杭州
社区版块
存档分类
最新评论

gen_server

阅读更多
State用来存数据, 任何erlang term都行

gen_server:start_link({local, ch3}, ch3, [], []) => {ok, Pid}
第一个参数表示本地(local方式)建立一个名为ch3的进程.
第二个参数表示回调函数(比如handle_call, handle_cast)所在的模块.
注意,前者是进程名,后者是模块名. 两个可以不一样.
进程是从程序结构方面来说的, 而模块是从目录结构这方面来说的.
第一个参数可以省略成为start_link/3,此时进程不会注册名称,以pid代替.

gen_server:start_link()是同步的, gen_server没有初始化完毕, 是不会返回的.
如果在supervision tree中, 就用gen_server:start_link.
如果是独立gen_server, 则用gen_server:start.
分享到:
评论

相关推荐

    gen_server tasting 之超简单名称服务(续)

    在IT行业中,`gen_server`是Erlang OTP(开放电信平台)框架中的一个核心组件,它提供了一种模式化的方式来实现服务器进程。本篇博客“gen_server tasting 之超简单名称服务(续)”主要探讨了如何使用gen_server来...

    gen_server tasting 之超简单名称服务

    在Erlang编程语言中,`gen_server`行为是一个强大的模块,用于构建具有状态的、容错的服务。这篇名为“gen_server tasting 之超简单名称服务”的博客文章可能介绍了如何利用`gen_server`来实现一个简单的命名服务。...

    gen_server tasting 之超简单名称服务(再续)

    在IT行业中,`gen_server` 是Erlang OTP(开放电信平台)框架中的一个核心行为模块,用于构建可靠且容错的服务。它提供了一种模式,使得开发者可以编写并发、状态管理和故障恢复的服务器进程。在"gen_server tasting...

    基于Erlang的gen_tcp聊天室代码,功能完整

    - 处理连接请求,为每个新连接创建一个新的进程(通常是一个gen_server或gen_fsm行为)。 - 注册和登录逻辑,处理用户认证请求。 - 监听和转发消息,确保消息在正确用户间传递。 - 错误处理和异常恢复,确保系统的...

    gen_server:Erlang 的 gen_server 的(不完整的)OcamlAsync 实现

    《Erlang gen_server在OcamlAsync中的实现探索》 Erlang的gen_server是其并发模型的核心组件,它提供了一种强大的状态管理和错误处理机制。而在OCaml语言中,尽管有着自己的并发库如Async,但直接移植或模仿Erlang...

    gen_tcp_server:Erlang 应用程序的通用 TCP 服务器

    通用 TCP 服务器 通用 TCP 服务器( gen_tcp_server ) 是一种 Erlang 行为,提供快速简便的方法将 TCP 服务器功能添加到您的应用程序。 它被实现为管理 TCP 连接的主管,因为它是孩子。如何使用它? 运行make来构建。...

    erlang 聊天室

    在本文中,我们将深入探讨如何使用Erlang构建一个简易的聊天室,主要涉及的关键技术是gen_tcp和gen_server。Erlang是一种并发性极强、面向进程的编程语言,特别适合于构建高可用性和可扩展性的分布式系统,如聊天室...

    node_erlastic:通过端口连接在ErlangElixir中创建nodejs gen_server的节点库

    通过端口连接在Erlang / Elixir中制作nodejs gen_server的节点库。 该模块使您能够: 在Binary Erlang Term和javascript类型之间进行解码和编码 通过nodeJS可读和可写(双工)创建一个简单的Erlang端口接口 创建一...

    [Android][frameworks][HIDL]使用HIDL新建虚拟HAL以实现system_server与native进程双向通信(三)——JAVA客户端

    接下来我们就要实现我们的终极目标了:system_server(JAVA端)与服务端相互通信; 预处理 首先先解释下一个“玄学”的情况:在前两章的操作完成后,我们不需要添加任何JAVA类,即可直接使用; 究其原因,是因为在我们...

    gen_test_char X86

    bin/sh: ./gen_test_char: cannot execute binary file ,这个时候我们需要编一个X86版本的gen_test_char来取代他,如果不想编译,可以直接下载,放到httpd-2.2.22/server目录下,继续make,编译成功 最终安装的东西...

    gen_http:具有可插拔客户端实现的实验性通用HTTP接口

    2. **启动服务器**:使用gen_server或者其他Erlang OTP行为启动gen_http服务器实例。 3. **发起请求**:通过服务器实例向指定URL发起HTTP请求,可以设置请求头、方法、超时等参数。 4. **处理响应**:gen_http...

    gen_bittorrent:gen_bittorrent行为

    首先,gen_bittorrent这个名字来源于Erlang的通用行为模式gen_server,这是一个设计模式,用于实现服务器进程,它提供了一种标准的方式来处理请求和状态管理。gen_bittorrent库将这种模式应用于BitTorrent种子文件的...

    使用OTP原理构建一个非阻塞的TCP服务器

    - **tcp_server_app模块**: 实现gen_server行为,作为服务器的主进程,处理启动、停止监听器和客户端管理器的请求。 - **tcp_listener模块**: 实现gen_server行为,用于监听TCP连接。它需要注册一个socket,并在接收...

    Erlang实战

    例如,在 `handle_call/3` 中不要直接调用 `gen_server:call/2`,可以考虑使用 `gen_server:cast/2` 来异步处理消息。 ##### 3. gen_fsm详解 - **gen_fsm** 提供了一个框架用于实现有限状态机,适用于处理复杂的...

    HP ProLiant DL388p Gen8显卡驱动_SERVER2008

    标题中的“HP ProLiant DL388p Gen8显卡驱动_SERVER2008”指的是一款专为HP ProLiant DL388p Gen8服务器设计的显卡驱动程序,适用于Microsoft Windows Server 2008 R2 64位操作系统。这款驱动程序在描述中被提到已经...

    gen_amqp:更容易rabbitmq连接处理的行为

    它使用handle_basic_deliver/3和handle_basic_cancel/2的附加回调扩展了gen_server行为。 除此之外,还有几个用于设置连接、交换和队列的包装器。 还包括用于轮询和订阅的工具。 gen_amqp使用作为 AMQP 客户端,但...

    dftables X86

    bin/sh: ./gen_test_char: cannot execute binary file ,这个时候我们需要编一个X86版本的gen_test_char来取代他,如果不想编译,可以直接下载,放到httpd-2.2.22/server目录下,继续make,编译成功 最终安装的东西...

    自己写一个tcp 通用服务器

    1. `gen_server`行为:Erlang的`gen_server`行为提供了一种标准方式来实现服务器进程,它包含了一系列的回调函数,如`init/1`(初始化)、`handle_call/3`(处理同步调用)、`handle_cast/2`(处理异步消息)和`...

    基于erlang的文件存储

    2. **gen_server**:gen_server是Erlang中的一种行为(behavior),它提供了一种标准的方式来处理服务请求、状态管理和错误处理。在文件存储系统中,gen_server可能包含如下功能:接收上传请求,将文件保存到磁盘,...

Global site tag (gtag.js) - Google Analytics