erlang
自不凡
不怕不会,就怕不想
展开
-
ETS的表类型查找分析和并发效率
ETS的表分为set、ordered set、bag、duplicate bag,其中除了ordered set的操作时间均为O(LogN)外,其它类型的查找时间都是常量。为什么呢?首先关于存储结构的问题最根本的就是数据结构和算法问题,ETS提供的是操作内存的存储结构,在内存中我们怎么样才能快速操作一个记录呢?我们都知道在存储结构中有顺序和链式的线性结构,顺序的通过访问下标就可以获得数据,O(1);但移动和删除需要O(N)的时间复杂度,而且还要求键是整型值;再看看链式的,链式结构修改只需要O(1),但访问原创 2021-12-13 15:20:54 · 668 阅读 · 0 评论 -
Erlang自动化编译组件说明
详情文档模块 make 提供了编译源文件的类似Unix的函数集合。Eshell V8.3 (abort with ^G)1> make:all().执行以上命令,会在当前目录下查找名为 Emakefile 的文件,该文件定义了哪些目录下的文件需要被编译以及编译选项。如果不存在该文件,会编译默认当前目录下的模块。Emakefile 文件形式如下举例:{ [ 'src/*,...原创 2018-12-10 18:18:48 · 312 阅读 · 1 评论 -
Erlang Behaviour行为模式之一:Supervisor之说明
具体文档详看这里Supervisor(即主管进程,简称主管)负责启动、停止以及监控主管子进程。主要想法是当必需时,通过重启子进程保持他们的存活原创 2018-12-06 12:45:47 · 421 阅读 · 0 评论 -
Erang trap_exit的简单说明
When trap_exit is set to true, exit signals arriving to a process are converted to {'EXIT', From, Reason} messages, which can be received as ordinary messages. If trap_exit is set to false, the process exits if it receives an exit signal other than normal原创 2018-12-03 16:26:06 · 774 阅读 · 0 评论 -
Erlang debug_info在Debugger应用中的解释
源文档地址文中写到:Interpretable modules are modules for which a .beam file, compiled with option debug_info set, is located in the same directory as the source code, or in an ebin directory next to it....翻译 2018-11-30 15:50:49 · 496 阅读 · 2 评论 -
Erlang算法一章:快速排序
Erlang算法一章:快速排序快速排序算法快速排序算法快速排序的核心思想是分而治之,①把数组列表根据某一取值分成两段,左边都比中间值小,右边都比中间大,再对左右两边执行①操作即可。用Erlang语言描述比较简单,如下新建q_sort模块,函数如下:quick_sort([]) -> [];quick_sort([MidVal | T]) -> quick_sort([X |...原创 2018-11-29 10:20:45 · 327 阅读 · 0 评论 -
Erlang TCP Socket监听进程和接收进程
Erlang TCP Socket监听进程和接收进程的说明转自:https://blog.csdn.net/summerhust/article/details/8740973一旦打开了一个使用TCP连接的套接字,它就始终保持打开状态,直至任何一方关闭它或因为一个错误而终止。在建立一个连接时,一般为每一次请求产生一个新进程,只要有请求被处理,就保持这个进程的存活。假设有一个监听进程,其任务是...转载 2018-11-24 11:41:46 · 482 阅读 · 0 评论 -
Erlang算法一章:冒泡排序
(ERL的冒泡排序)Bubble Sorting IN ERLANG实现原理 1. 从数组的第一个元素arr[0]开始,两两比较arr[n]和arr[n+1],如果前面的数大于后面的数arr[n] > arr[n+1],那么交换两个元素的位置,把大的数往后移动 2. 依次经过一轮比较以后,最大的数将会被交换到最后的位置arr[n-1]实现要素: 递...原创 2018-03-27 14:33:00 · 517 阅读 · 2 评论 -
关于Erlang启动文件的说明
标准Erlang/OTP系统可以通过.erlang文件重新配置启动项具体详细解析在中文官方网站:www.cnerlang.com在这里做个简要的说明,当Erlang/OTP启动时,会在系统启动目录下搜索名为.erlang的文件,如果找不到会去用户目录下寻找该文件,该文件可以配置系统启动时的动作,即执行可在Erlang shell中执行的表达式,例如加载.beam文件等,具体做法如下:...原创 2018-03-12 15:59:46 · 1552 阅读 · 4 评论 -
[翻译]How to Interpret the Erlang Crash Dumps
原文如何解释 Erlang Crash Dumps本节介绍 Erlang 运行时系统在异常退出时生成的 erl_crash.dump 文件 注意: 在 Erlang/OTP R9C 中, Erlang crash dump 有大幅的改变。在本节中的信息不能直接应用到旧的 dumps 文件中。但是,如果你使用了 crashdump_viewer(3) 查看旧的 dumps 文件,则 cras转载 2017-08-21 15:00:20 · 644 阅读 · 0 评论 -
Centos安装Erlang/OTP
Erlang是一门实现高并发、具有容错和高性能的函数式编程语言,有兴趣的读者可以找相关资料了解。### 首先下载资源,想下载不同的版本只需要修改版本号即可,最新为19.3wget http://erlang.org/download/otp_src_18.3.tar.gz### 在下载目录中对.tar.gz进行解压tar -xzvf otp_src_17.3.tar.gz### 安装依赖包(安装转载 2017-08-11 10:56:30 · 1213 阅读 · 0 评论 -
基于erlang语言的socket通信
erlang语言实现socket聊天室关键词erlangsocketerlang语言是函数式编程语言,由Erlang之父Joe Amstrong编写出erlang原型,并在爱立信公司得到大规模应用,进而在通信行业有了一席之地,其优势在于高并发性、容错、高性能。socket是实现数据交互的最普遍的方式,Erlang/OTP中也融合了tcp协议,并通过OTP中的库简单的编程就能实现服务端、客户端的原创 2017-08-07 23:43:54 · 993 阅读 · 0 评论