最新文章列表

inet:setopts/2函数

下面引用霸爷的话,给自己做一个笔记 引用inet_drv内部每个socket都有个消息队列, 保持着上层推来的消息. 这个消息队列有上下水位线的. 当消息的字节数目超过了高水位线的时候, inet_drv就把socket标志为busy. 这个busy要到队列的字节数少于 低水位线的时候才解除. 这是未公开的文档,用法参见下面: inet:setopts(Socket, [{high_waterma ...
liumengfan 评论(0) 有812人浏览 2013-07-03 16:18

erlang的内联编译

今天再erlang inline 编译中读到erlang的函数也可以内联编译。 但是内联功能从来不会默认打开的。如果想使用的话,必须显示的在代码里使用-compile()属性。 当再代码里加上-compile(inline).时,编译器会根据自己的规则来决定哪个函数被定义成内联函数,其中有一个因素就是-compile({inline_size, Size}).,默认的size是24,这个size作为 ...
liumengfan 评论(0) 有1313人浏览 2013-07-02 23:42

erlang:port_command函数

今天读到褚霸博客里的gen_tcp:send的深度解刨和使用指南(初稿)时,顺着霸爷的思路,跟着 lib/kernel/src/gen_tcp.erl send(S, Packet) when is_port(S) -> case inet_db ...
liumengfan 评论(0) 有3323人浏览 2013-07-02 22:10

iolist类型

今天读到http://blog.yufeng.info的gen_tcp:send的深度解刨和使用指南(初稿),看到下面这句: 引用 gent_tcp:send的时候数据的格式是iolist. 很多人会误会,特地把iolist特地变成list或者binary. 新生成的binary或者list在send之后要GC回收, 如果频繁的话, 系统的性能损失很大. tcp驱动是支持scatter write的 ...
liumengfan 评论(0) 有846人浏览 2013-07-02 21:47

epmd的启动参数3

和epmd相关的环境变量 ERL_EPMD_RELAXED_COMMAND_CHECK ERL_EPMD_PORT ERL_EPMD_ADRESS 相关的使用如下: [liufan@liufan ~]$ export ERL_EPMD_RELAXED_COMMAND_CHECK=TRUE [liufan@liufan ~]$ export ERL_EPMD_PORT=4445 [liuf ...
liumengfan 评论(0) 有1132人浏览 2013-07-01 21:28

epmd的启动参数2

使用epmd的-port选项时,实验的例子是: [liufan@liufan ~]$ echo $ERL_EPMD_PORT [liufan@liufan ~]$ export ERL_EPMD_PORT=4444 [liufan@liufan ~]$ epmd -d epmd: Tue Jul 2 05:00:39 2013: epmd running - daemon = 0 ...
liumengfan 评论(0) 有1101人浏览 2013-07-01 21:07

epmd的启动参数1

当使用epmd -address时,后面跟的IP_LIST是让epmd监听自己电脑的哪个ip的,例如: [liufan@liufan ~]$ epmd -address 192.168.1.110 -d epmd: Tue Jul 2 04:43:17 2013: epmd running - daemon = 0 epmd: Tue Jul 2 04:43:25 2013: ** go ...
liumengfan 评论(0) 有1389人浏览 2013-07-01 20:51

erlang的epmd

epmd有一个-stop的选项,当要是用 $epmd -stop name 的时候,本机启动的第一个erlang shell时要加上-relaxed_command_check选项,例如: erl -sname -epmd "epmd -relaxed_command_check -daemon" 这样的话,就会实现如下效果: [liufan@liufan ~]$ erl - ...
liumengfan 评论(0) 有1684人浏览 2013-07-01 20:29

Erlang应用打包工具:node_package

node_package是一个制作erlang应用安装包的脚本/模版集合。支持的平台包括deb(ubuntu), MacOSX, FreeBSD。 这里记录我使用过程中遇到的一些问题,备忘。 一、前提 rebar.config中添加对node_package的依赖。 使用前保证rebar generate能正确打包。 另外,generate出来的应用目录下要有个data目录,可以在relto ...
cryolite 评论(0) 有1766人浏览 2013-07-01 17:15

利用user_default模块自定义Erlang Shell命令

        在erlang开发过程中,shell是一个强大的工具,它提供了很多简短的命令来完成各种各样的任务。在shell中输入: help(). 就能看到它提供的所有命令。实际上,我们可以自己扩展shell的命令来完成一些日常的任务,以提高开发的效率。         首先,需要新建一个user_default.erl文件并编译得到user_default.beam,内容如下: - ...
wudeng256 评论(0) 有1854人浏览 2013-06-30 17:39

erlang异步接收不到数据的问题

主要是利用rabbitmq的东西,贴出服务端代码 listen代码 gen_tcp:listen(Port, SocketOpts) SocketOpts = [ binary, {packet, 0}, %%{packet, 0}表示erlang系统会吧TCP数据原封不动地直接传送给应用程序 ...
jjchen_lian 评论(0) 有6165人浏览 2013-06-09 21:22

os:timestamp 与 erlang:now差别

erlang代码学了三年,不敢轻易断言差异,发表些观点请高手指点。 os:timestamp 与 erlang:now差别:    结果格式都为: {MegaSecs, Secs, MicroSecs} 两个明显的差别: 第一:      now默认系统时间可靠的,启动之后不会修改      timestamp 在系统时间改变之后,也会随之改变,      服务器在运行的过程中,同一时间time ...
y595705120 评论(0) 有1798人浏览 2013-05-25 11:06

IT博客吧送福利--最新博客

序号   博客标题 博客url       1   log4j将不同的级别日志保存到不同的日志文件 http://www.itblog8.cn/plus/view.php?aid=80       2   java权限设计 http://www.itblog8.cn/java/2013032082.html       3   spring动态数据 ...
寻觅一只耳朵 评论(0) 有1236人浏览 2013-05-09 10:38

erlang digraph模块

digraph模块是对图结构的一种封装,主要的description请参考http://www.erlang.org/doc/man/digraph.html 下面来看看digraph的一些方法: 图结构无非就是由一些节点和边组成的,在digraph中有个Label的东西,这个其实就是图节点的附加信息,类似在C语言中在一个节点中放个指针,指向一些附加的信息。 那么要创建图,就必须要先创建一 ...
jjchen_lian 评论(0) 有1646人浏览 2013-05-08 16:19

Erlang中的长度

Erlang中的长度 by cnDenis http://cndenis.iteye.com 2013年4月27日   值得吐槽的是居然连求长度这么基础的方法,Erlang都没有统一起来。 分为len和size两大对立阵营: len阵营 列表(字符串是列表的一种)的长度用length/1或string:len/1。 别看后面那个打着string开头,对于不是字符串的列表也照用不误, 从 ...
cnDenis 评论(0) 有2767人浏览 2013-04-27 17:12

gen_server笔记

gen_server笔记 by cnDenis http://cndenis.iteye.com 2013年4月24日 gen_server是erlang的OTP框架中最常用的“行为模式”了吧,至少几本erlang教材都是首 先介绍这个。 ...
cnDenis 评论(0) 有4958人浏览 2013-04-25 16:40

rails应对大型数据流的一个运用事例

今日学习了WLAN系统的相关大数据处理方案。 总结一下相关的认识和思路: 系统使用双数据库。mysql存储配置数据和对象原始数据、ORACLE存储对象相关的性能数据(性能数据量庞大) 要在上千台AP、AC机器当中采集众多指标数据存如数据库中做实时综合展示,光用ruby是不够的。 整个系统分三部分难点:1、数据的采集;2、数据的汇聚展示、3实时告警 难点一解决方案: 用erlang语言处理数据采 ...
scholltop 评论(0) 有1056人浏览 2013-04-11 12:55

Erlang虚拟机源码阅读笔录(四)虚拟机的进程创建

4. Erlang虚拟机的进程创建 在第三节中我们分析了Erlang虚拟机的进程调度和指令集(threaded-code)的执行过程,这一节我们分析Erlang虚拟机的进程创建过程。 首先,创建一个需要调用内建函数(BIF)erlang:spawn或者spawn_opt,spawn_link等,这里我们分析spawn函数的调用过程。所有spawn函数最后都会调用spawn/3这个BIF,这个 ...
LeslieWei 评论(0) 有1664人浏览 2013-04-10 11:46

Erlang虚拟机源码阅读笔录(三)虚拟机的进程调度

3. Erlang虚拟机的调度 在这一部分中我们来重点分析Erlang虚拟机的调度策略。 由第一分部的介绍可以得知,在ERTS_SMP模式中,erl_start()函数在创建好第一个进程后最后调用的两个函数分别为erts_start_schedulers()和erts_sys_main_thread()。在单核模式下,erl_start()函数在调用set_main_stack_size() ...
LeslieWei 评论(4) 有2276人浏览 2013-04-10 11:43

Erlang虚拟机源码阅读笔录(二)虚拟机的指令集

2. Erlang虚拟机的指令集 在具体分析erlang进程的调度和执行过程前,我们需要简单的了解下erlang虚拟机的指令集的几种形式。 2.1. Erlang程序的内存结构     Erlang程序beam文件是需要虚拟机解释执行的字节码文件,因此Erlang的进程结构不同于普通的操作系统进程,Erlang的所有进程数据包括代码,堆栈结构都是存放在数据区里,Erlang进程并没有普通进 ...
LeslieWei 评论(0) 有1527人浏览 2013-04-10 11:37

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) .net(54785) 编程(39454) JSP(37542) 数据结构(36423) Eclipse(31254) PHP(29988) F#(26079) 算法(24867) 脚本(19840) J#(18922) JDBC(17888) ASP(17480) JDK(14881) JVM(14450)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics