![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Erlang
文章平均质量分 58
咕噜咕噜隔
这个作者很懒,什么都没留下…
展开
-
[Erlang] - lager
lager是Erlang自己的日志系统。可以通过一下方式获取源码。原创 2024-04-23 19:26:46 · 148 阅读 · 0 评论 -
[Erlang] - 数据存储选择
跨进程读写的数据,比较全局性的,最好用ets。但ets不能用得太多,有数量限制的。(缺省情况下最多1400个,可以通过环境变量ERL_MAX_ETS_TABLES进行修改)定义进程数据结构的,比较稳定的,用State;进程内经常读写的数据,最好用进程字典,快;原创 2024-02-21 20:07:56 · 118 阅读 · 1 评论 -
[Erlang] - gen_event
一般来说,gen_event的实现模块大都没有start_link()函数,一般情况下,直接有监督者启动的都是gen_event容器(事件管理器),而不是gen_event的实现模块。原创 2024-04-23 16:36:13 · 173 阅读 · 0 评论 -
[Erlang] - EPMD
游戏服和大区服(也有的叫网关服的)短暂断连并短时间内又再次链接。1.大区服服务器网络问题(同事同时间没出现问题,pass)。2.配置问题引发(是能正常连接的,pass)。3.游戏服网络问题(就是它!原创 2024-04-18 20:21:57 · 314 阅读 · 2 评论 -
[Erlang] - gen_server
gen_server.erl (上面的spawn经过fun的传来传去最后会来到gen_server)proc_lib.erl是一个关于进程的工具类,提供了同步启动进程的机制。原创 2024-02-22 16:46:14 · 467 阅读 · 1 评论 -
[Erlang] - lists
列表 List 里的每一个元素按从左向右的顺序,依次跟一个累积器(accumulator)参数 Acc0 作为 Fun 的参数被调用执行,并返回一个新的累积器 Acc1 跟列表的下一个元素调用,直到调用完列表里的所有元素,最终返回累积器 Acc 的结果值。列表 List1 里的每一个元素以参数的方式被断言函数 Predicate 调用,如果该元素在断言函数 Predicate 执行中返回的是 true,那么则留下,否则被丢弃,最终返回一个符合断言条件的元素的列表。获取列表中指定位置的元素。原创 2023-10-23 19:45:37 · 1316 阅读 · 1 评论 -
[Erlang] - gen_fsm
gen_fsm(有限状态机)描述了这样的一组关系:State(S) x Event(E) -> Actions(A),State(S’)这个关系意味着:如果在S状态下发生事件E,将执行动作A并返回状态S’.原创 2024-02-22 16:47:54 · 339 阅读 · 1 评论 -
[Erlang 002] -Application构建
又预感到可能是文件位置导致的启动失败,但是网上大家都是用的application:start()去启动,后面发现因为beam在ebin目录下,正确的启动erl进程的命令应该是 erl -pa ebin。控制台输入启动test。原创 2024-03-25 15:10:16 · 224 阅读 · 1 评论 -
Erlang atom
atom不参与垃圾回收,一旦创建就不会被移除掉,一旦超出atom的数量限制(默认是1048576) VM就会终止掉.对于一个会持续运行很久的系统,把任意字符串转成atom是很危险的,内存会慢慢被吃光.如果使用的原子是在预期范围内的,比如协议模块的名称,那么可以使用list_to_existing_atom来进行防范,这个方法把一个文本形式的字符列表转为一个已经存在原子 atom,如果原子 atom 不存在,则返回一个 badarg 的错误。在shell中看一下atom的使用情况。原创 2024-04-15 21:02:55 · 281 阅读 · 1 评论 -
Erlang和Java对比
Erlang 有原生支持网络编程和建立分布式应用程序的能力,这些都使 Erlang 成为开发大规模应用的理想语言。由于 Erlang 中的进程被设计为相互独立的容器,所以在 Erlang 中进行并发编程通常比使用共享状态的线程库更容易。Erlang 的高可用性来自于其内置的错误处理机制。另外,Erlang 的错误日志非常详细,对于跨进程或跨网络通信的问题有很好的支持。总之,Erlang 能够提供高性能、高并发、高可靠性和热代码升级等优点,这使得 Erlang 成为一种适用于实时和分布式系统的编程语言。原创 2024-04-17 19:34:26 · 328 阅读 · 1 评论 -
[Erlang] - 部分系统限制
单个dets文件大小不能超过2G,mnesia也受到这个限制。原创 2024-04-17 21:44:23 · 174 阅读 · 1 评论 -
[Erlang] - 运算符
:=用来测试两个数据类型是否完全相同。X andalso Y: 如果X为true,则会执行Y,如果X为false,则不会计算Y,直接false。X orelse Y, 如果X为true,则结果为true,不会计算Y。X =:= Y:比较X、Y的值和数据类型是否完全相同。X =/= Y:比较X、Y的值和数据类型是否完全不同。X == Y:比较X、Y的值是否相同。X /= Y:比较X、Y的值是否不同。X =< Y:X等于或小于Y。X >= Y:X大于或等于Y。X < Y :X小于Y。X > Y:X大于Y。原创 2023-10-24 17:00:35 · 1323 阅读 · 1 评论 -
[Erlang] - 入门练习
Erlang 练习原创 2023-10-20 11:41:36 · 595 阅读 · 1 评论