Erlang学习心得
来源:互联网 发布:c语言字符串格式化 编辑:程序博客网 时间:2024/05/19 17:08
最近接触了款项目,需要使用到Erlang,就把最近的学习心得拿出来分享一下。
首先对于Erlang的适用方向是分布式系统,里面会用到很多的进程来处理业务逻辑,但是这里的进程和我们平常在其他语言里(如:c/c++,java,c#等)进程有很大的区别,我们以前认知的进程都是基于操作系统的进程,是内核级别的,而Erlang里面的进程是基于他的虚拟机之上的进程,是个轻量级的,没有很多内核级别的上下文环境,所以他的应用还是比较方便的。
说到Erlang就不的不说他的经典应用OTP,OTP是Erlang开发者提供的一个应用框架,里面有很多我们常用的基础功能,有gen_server,gen_fsm…,我在学习中就用到了这两个模块。
1.gen_server,是一个回调模块,和win32里面的回调是一个道理,但是比win32封装的更精致,而且他的源码是公开的,有兴趣的可以去看看他的底层实现。
下面来说说他的实现吧。
gen_server有调用模块和处理模块,
调用:
gen_server:call().–同步
gen_server:cast().–异步
接受处理:
handle_call(Request, From, State)–同步
handle_cast(Request, State)–异步
- gen_fsm的调用和处理模块:
调用:
gen_fsm:send_event().–异步
gen_fsm:sync_send_event().–同步
gen_fsm:send_all_state_event().–同步发送给所有状态
接收处理:
Module:StateName/2 异步请求
Module : StateName/3 同步请求
Module:handle_event/3 –接收send_all_state_event()消息的处理。
StateName是自定义的状态处理函数,需要和状态名保持一致。
0 0
- erlang学习心得
- erlang 学习心得
- Erlang学习心得
- Erlang
- Erlang
- Erlang
- erlang
- Erlang
- erlang
- erlang
- erlang
- erlang
- erlang
- erlang
- 学习心得
- 学习心得
- 学习心得
- 学习心得
- webview的一些操作方法
- 仿QQ聊天界面基本的Fragment用法。
- OAuth2.0微信code获取失败怎么办
- 【开发日记】计算精度
- 对话 Jessica Hamrick:和 Django 的情缘是我前行的动力
- Erlang学习心得
- atlassian conference 安装
- 最小生成树
- Flask安装过程中“配置虚拟环境”步骤报错,找不到activate.bat
- CDN流量放大攻击思路
- Python 遍历目录和子目录下所有文件,并替换其中的字符串
- centos7开机后桌面显示指定目录
- 关于Apache/Tomcat/JBOSS/Neginx/lighttpd/Jetty等一些常见服务器的区别比较
- iOS网络编程(六) NSURLSession详解