一个gen_server服务器在运行周期里面保持了一系列运行状态,erlang根据运行状态来决定是否停止该服务,今天说的是常规方法停服务的方法,至于由异常引起的服务停止,又要分为我们有没有提前做过trap_exit处理,改日再说。 先看一个简单的服务器,什么也不处理,只是启动起来。 -module(lab). -author('1
今天演示,如何利用shell和erlang通过socket进行通信,希望能对大家有所启发。 服务端由erlang设计的一个支持并发的取整服务器,客户端由shell脚本实现(当然,其他动态语言做起来也很方便,这里有个目的就是介绍shell脚本的扩展应用)。客户端发送一个浮点数,服务端处理后返回相应的整数。这里只是一个引子,希望看到的朋友可以自
今天抽空介绍tuple list数据结构在实际开发过程中与record配合的应用,我这里只是说明一种应用场景,另外的扩展应用有待大家一起去发掘。 tuple list数据结构,适合的应用场合就是:查找,更新,删除,排序,更简洁的归纳的话就是:查找和更新。 来看一个实际例子: 我有一
好几位同学一直不用状态机,什么都是gen_sever,有的说是不熟悉,有的说是有必要用吗?其实erlang的状态机gen_fsm也是由gen_server实现的,这点看gen_fsm.erl就很清楚了。关键是我们要在什么情况下来使用状态机呢,根据个人经验:如果一件事情有很明显的多个状态(阶段),那么使用状态机。比如:电商那边的淡季,旺季,遇到各种日子的打折促销活动;游戏里
介绍Erlang的dict模块( dictionary),dict就是一个通过散列(hash)来存放数据的组织方式,同时dict模块还提供了完整的操作接口,类似的模块还有orddict模块。具体讲如何使用dict模块的各种常用方法之前,先来看一些基础的概念。 大家写程序如果有一段时间了,发现程序中数组和链表是使用频率很高的两种数据结构
列表操作在Erlang中很常用,lists模塊提供了很多函數來處理列表,這些的函數處理的列表對象通常分為兩類,一類是通用的,如[1,2,a,bc,{key, value}],列表元素沒有明顯的”結構“;還有一類就是針對key-value結構的函數(tuple-list),即列表每個元素都是{key, value}結構,整個列表看起來是[{key1,
今天上午一位同事的程序遇到一個問題,說是加了很少的一點代碼之後,昨天咝械暮煤玫某绦蚩偸菆箦e,又無法找到錯誤在哪裡,花了他一上午,搞的他很鬱悶,代碼具體是這樣的: NRole = add_honor_timer(NRole), case lists:member(HonorId, ?add_and_use_honors) o
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号