gen_server Hello World

简单的gen_server Hello World程序

代码:
[code]
-module(genserver).
-behaviour(gen_server).
-export([start/0, hello/1]).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).

start() ->
gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).

hello(Name) ->
Reply = gen_server:call(?MODULE, {hello, Name}),
io:format("~s~n", [Reply]).

handle_call({hello, Name}, _From, State) ->
Reply = lists:append(["Hello, ", Name, "!"]),
{reply, Reply, State}.

init(_Args) ->
{ok, init}.
handle_cast(_Request, State) ->
{noreply, State}.
handle_info(_Info, State) ->
{noreplay, State}.
terminate(_Reason, _State) ->
ok.
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
[/code]

编译:
[code]
Eshell> c(genserver).
[/code]

运行:
[code]
Eshell> genserver:start().
Eshell> genserver:hello("Hideto").
[/code]

输出结果:
[code]
Hello, Hideto!
[/code]
RabbitMQ的使用(JAVA) Java快速上手的MQ上线! 阅读详情

相关推荐

XGBoost与Embedding混合建模实战解析

在机器学习领域,特征工程与模型融合是提升预测性能的关键技术。Embedding技术通过将高维稀疏特征(如文本、ID类数据)转化为低维稠密向量,有效捕获语义关联;而XGBoost作为强大的集成学习算法,擅长处理结构化特征并进行自动特征组合。两者结合的混合架构(如Semantic Boosted Trees)在金融风控和推荐系统等场景中展现出显著优势,尤其在处理用户行为序列、商品ID等复杂特征时,相比传统方法能获得更好的模型效果。本文通过电商推荐和金融反欺诈等案例,详解如何实现Embedding+XGBoost

weixin_28718641的博客 324

如何查看gen_server系列的状态 (高级)

gen_server在erlang otp编程中的地位是无可撼动的,几乎都是gen_server或者gen_fsm的模型。那么程序运行起来的时候 我们如何查看gen_server的内部状态呢。有2种方法: 1. 自己写个类似于info这样的函数,来获取状态。 2. 利用系统现有的架构。sasl应用带了一个si的东西 全名是status inspector, 这个东西就是设计来帮用户解决这

Sunface撩技术 2497

浅显易懂地看LLC变换器(三)

第3期 谐振与增益的定性关系 由简单的谐振电路说起 我们将以电感和电容的基本电路的特性逐渐了解谐振电路的特性 与电阻不同,电感和电容都不是纯阻性线性器件,电感的感抗XL和电容的容抗Xc都与频率有关,当加在电感和电容上的频率发生变化时,它们的感抗XL和容抗Xc会发生变化。 1) 如下图RL电路,当输入源Vin的频率增加时,电感的感抗增大,输出电压减小,增益Gain=Vo/Vin随频率增加而减小。 2) 如下图RC电路,相反,当输入源Vin的频率增加时...

iFTrue电力电子专栏 6735

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

前言在上一篇中已经完成了服务端的集成,手机软件此时已经可以自动启动服务端,且运行无异常。接下来我们就要实现我们的终极目标了:system_server(JAVA端)与服务端相互通信;预处理首先先解释下一个“玄学”的情况:在前两章的操作完成后,我们不需要添加任何JAVA类,即可直接使用;究其原因,是因为在我们之前使用hidl-gen的时候,生成的Android.bp中包含这个字段:hidl_inte...

weixin_35801916的博客 839

3线SWD接线终极指南:用Jlink调试非3.3V设备的5个关键细节

本文详细解析了使用Jlink调试非3.3V设备时,3线SWD接线的5个关键细节。核心在于正确理解并连接Vref引脚以实现电压适配,避免供电冲突,并掌握精简接线法与固件修复技巧。文章以STM32F205等芯片为例,指导开发者安全、高效地进行混合电压调试。

e4f5g6h7的博客 437

ZedBoard+Vivado(二)——PS + PL实现流水灯

硬件:Zedboard 软件:Vivado2018.2 + Win10 本文参考了http://blog.chinaaet.com/cuter521/p/35978的设计 1 设计 功能:PS + PL流水灯 语言:C 流程:创建工程->IP Integrator->综合、实现、生成Bitstream->SDK 2 流程 2.1 创建工程 跟上一篇步骤完全相同,这里不用添加源文...

q416524389的博客 3694

HIDL第一个Hello World

# source build/envsetup.sh # lunch # make hidl-gen -j4 一、server端 1.创建INaruto.hal文件 # cd hardware # mkdir -p ~/android/hardware/interfaces/naruto/1.0/default # cd hardware/interfaces/naruto/1.0 # ema...

Android系统攻城狮 2717

RK3588上rknn_toolkit_lite2报错解决:手把手教你更新librknnrt.so的正确姿势

本文针对在RK3588平台上使用rknn_toolkit_lite2时遇到的“Invalid RKNN model version”等常见错误,提供了完整的诊断与解决方案。文章深入剖析了RKNN生态系统各组件(如librknnrt.so、RKNN Server)版本不兼容的根源,并手把手指导如何安全、正确地更新librknnrt.so运行时库,确保AI模型在RK3588 NPU上实现高效推理。

weixin_29189003的博客 520

Gamdl 实操指南:从零下载 Apple Music 歌曲,用 Wrapper 解锁 ALAC 无损

Gamdl(Glomatico's Apple Music Downloader)是一个命令行下载器,把 Apple Music 里的歌曲、音乐视频和帖子视频拉到本地。它的核心链路是:用 Netscape 格式导出的浏览器 Cookie 登录,或者接一个本地运行的 Wrapper v2 服务(负责 Apple ID 登录、播放请求和解密),拿到流媒体地址和 DRM 密钥后,调用内置的 Rust 扩

gitblog_00811的博客 400

手把手教你如何在应用宝的Android模拟器安装第三方应用方法

通过上述步骤,你就能在腾讯应用宝模拟器中安装并运行本地的第三方APK应用了。虽然稍显繁琐,但操作起来并不复杂,只要按照步骤一步步做,就能顺利完成。希望这篇文章能帮助到遇到类似问题的你!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 7208

Android SystemUI——自定义状态栏和导航栏(十二)

通过前面的文章内容,我们了解了Android系统原生的状态栏StatusBar和车载系统状态栏CarStatusBar的启动流程以及视图构建流程,这里我们来简单的看一下自定义状态栏和导航栏视图的实现流程。

小旭的专栏 2010

Argo Workflows 实战入门:从 Hello World 到参数、循环、DAG 与制品的工作流引擎全解析

Argo Workflows 是一个运行在 Kubernetes 之上的工作流引擎,它通过 CRD(Custom Resource Definition)将工作流定义为 YAML 文件,从而让工作流与 Kubernetes 的 volumes、secrets、RBAC 等原生能力无缝集成。本文以官方 walk-through 教程为主线,带你从编写第一个 Hello World 工作流开始,逐步掌

gitblog_00161的博客 390

实战:RK3568 Android14 调试 MIPI DSI 液晶屏

LCD1_RST -> 对应原理图网络连接到 GPIO。LCD1_PWR_EN ->用于给屏幕 VCC 供电。LCD0_BL_EN / LCD0_BL_PWM -> MP3302 升压芯片驱动 LED 灯条。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/100f2be7f763494da1032464e272e63b.png&pinctrl {/* 配置 LCD_RST 和 LCD_EN */

qq_33427070的博客 1548

elli Erlang Web 服务器是什么?一款简单、健壮且高性能的 HTTP 框架终极入门指南

如果你正在寻找一款**Erlang Web 服务器**,既不想背上 Cowboy 或 Yaws 那样复杂的学习曲线,又希望获得出色的并发性能,那么 elli 绝对值得一试。elli 是一个**简单、健壮且高性能的 Erlang HTTP 框架**,专为 HTTP API 场景设计,核心代码只有几千行,却完整支持 SSL、Chunked 流式响应、sendfile 文件发送、中间件机制等生产级功能。

gitblog_01150的博客 893

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

grpc-java TLS 加密通信实战:基于 example-tls 实现单向 TLS 与双向 Mutual TLS

gRPC 默认基于 HTTP/2 明文传输,生产环境中必须通过 TLS 保证通信的机密性与身份真实性。本指南以 grpc-java 仓库中的 [examples/example-tls](https://link.gitcode.com/i/a51ae578f442ae6c12c07fe8cff7b9c1) 示例为核心,完整讲解 Hello World 服务在 TLS 场景下的构建、证书准备、单向

gitblog_00186的博客 262

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

llama.cpp llama-server 完全指南:构建 OpenAI 兼容的本地 LLM 推理 HTTP 服务

本篇技术指南以 llama.cpp 仓库中 `tools/server/` 模块的官方文档为主体,系统讲解 `llama-server` 的构建与启动、三大类命令行参数、完整的 REST API 端点(原生与 OpenAI/Anthropic 兼容)、多模型路由模式、服务器工具与 MCP 集成,以及空闲休眠等运维特性。读完后你能够独立部署一个生产可用的本地推理服务,理解其插槽(slot)并行与连续

gitblog_00152的博客 691

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MongoDB 仓库 Bazel 构建开发工作流完全指南:从 BUILD.bazel 编写到 clang-tidy 集成

本文是 MongoDB 服务器源码仓库中 Bazel 构建系统的开发者实战指南,聚焦 Server 开发者日常修改 Bazel 构建定义(BUILD.bazel)的完整工作流:如何新建构建目标、静态声明头文件与源文件、声明库依赖、以及通过 Bazel 运行 clang-tidy 静态分析。读完本文,你将掌握 MongoDB 仓库特有的 `mongo_cc_binary` / `mongo_cc_l

gitblog_00784的博客 297

使用 Phoenix 构建 JSON API:从生成器脚手架到 Action Fallback 与参数解析的完整实战指南

本文基于 Phoenix 官方指南 [json_and_apis.md](https://link.gitcode.com/i/bd74d587f68f58812c93ed7125c07791) 展开,完整讲解如何用 Phoenix 构建 RESTful JSON API:从 `mix phx.gen.json` 生成器搭建 CRUD 脚手架、配置 `/api` 路由与 `:api` 管道,到 J

gitblog_01176的博客 311

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

前言 在上一篇中已经完成了服务端的集成,手机软件此时已经可以自动启动服务端,且运行无异常。 接下来我们就要实现我们的终极目标了:system_server(JAVA端)与服务端相互通信; 预处理 首先先解释下一个“玄学”的情况:在前两章的操作完成后,我们不需要添加任何JAVA类,即可直接使用; 究其原因,是因为在我们之前使用hidl-gen的时候,生成的Android.bp中包含这个字段...

Ryan ZHENG的专栏 2979

Ubuntu 18.04 部署 code-server 实战指南:Docker+HTTPS+ROS 全栈配置

code-server 是基于 Web 的 VS Code 云端开发环境,其核心原理是将 VS Code 后端服务容器化运行于服务器,通过 WebSocket 实现浏览器端实时交互。技术价值在于复用完整 IDE 生态(插件、调试、终端、Git),同时规避本地硬件限制与跨平台兼容问题。典型应用场景包括教育实训、ROS 机器人协作开发、老旧设备轻量编程入口及多用户安全隔离云桌面。本文聚焦 Ubuntu 18.04 这一长期支持(LTS)系统的工程落地,深度结合 Docker 容器化部署与 Nginx 反向代理

weixin_34178244的博客 393

Zephyr RTOS 在 AMD Versal Gen 2 APU(Cortex-A78)上的板级支持详解:架构、内存布局与构建烧录实战

本文以 Zephyr 仓库中 [boards/amd/versal2_apu/doc/index.rst](https://link.gitcode.com/i/bcbf76c6750986b882c23a4dee0de1ad) 为骨架,系统讲解 `versal2_apu` 板卡配置:它面向 AMD Versal Gen 2 可编程 SoC 的 APU(Application Processing

gitblog_01093的博客 20

RabbitMQ 七步入门实战教程

RabbitMQ 七步入门实战教程摘要 本教程基于华为云4节点集群(Ubuntu 24.04)搭建RabbitMQ 3.12.x环境,提供七项核心实验: 环境部署(含集群拓扑与一键安装脚本) Hello World消息收发基础 工作队列与任务分发 Fanout扇形交换机发布订阅 Direct直连交换机路由 Topic主题交换机路由 RPC远程调用实现 特色: 全实验基于真实服务器输出 覆盖RabbitMQ官方六教程+RPC扩展 包含常见踩坑解决方案(如Erlang版本冲突) 提供SSH快捷访问配置 适用场景

cpyaxjq的博客 557

Tornado Web Server 入门指南:Python 异步 Web 框架与网络库全解析

Tornado 是一个 Python Web 框架与异步网络库,由 FriendFeed 团队开发并开源,以非阻塞网络 I/O 为核心设计,可支撑数万条并发长连接。本文以官方文档首页([docs/index.rst](https://link.gitcode.com/i/ee49025235c0bdd2b97e7d6f153e8937))为骨架,结合仓库源码与示例应用,系统讲解 Tornado 的

gitblog_01153的博客 419

ROS 1 Noetic vs ROS 2 Humble:树莓派4B 双版本安装与核心差异对比

本文详细对比了ROS 1 Noetic与ROS 2 Humble在树莓派4B上的安装流程、架构差异和性能表现,帮助开发者根据项目需求选择合适的机器人操作系统版本。通过实测数据和代码示例,展示了ROS 2在实时性和分布式通信方面的优势,为树莓派开发者提供实用的技术指南。

weixin_30546189的博客 434

LLM直接生成二进制软件:从代码到可执行文件的范式变革与工程实践

在软件工程领域,编译原理和构建工具链是连接高级语言与机器指令的核心技术。传统开发流程中,源代码需经编译器处理,生成可执行的二进制文件,这一过程确保了软件的可移植性和性能优化。随着人工智能技术的演进,大型语言模型(LLM)在代码生成方面展现出强大能力,正逐步改变开发范式。其技术价值在于提升开发效率,通过理解自然语言需求,自动生成符合逻辑的代码片段或配置。在应用场景上,LLM不仅可用于代码补全、文档生成,更在自动化构建、持续集成等DevOps环节发挥作用。本文聚焦于一个前沿设想:若LLM跳过源代码,直接生成可执

weixin_34416754的博客 447

Apache Doris 数据湖回归测试的 Iceberg Docker 环境搭建与数据生成工具链解析

Apache Doris 仓库在 [docker/thirdparties/docker-compose/iceberg](https://link.gitcode.com/i/e6afb9c8260c659725215f904c6eea94) 目录下维护了一套用于数据湖回归测试的 Iceberg 测试环境:通过 Docker Compose 编排 Spark + Iceberg REST Cat

gitblog_00399的博客 882
上一篇: OTP Design Principles: Gen_Server Behaviour
下一篇: OTP Design Principles: Gen_Fsm Behaviour
hidetobj
博客等级 码龄19年 16粉丝 301原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值