【1】Erlang Shell 、文件编程(一)

目录

初步了解

OTP平台

Erlang中的并发

 Erlang Shell

部分shell函数

Ctrl-G开关命令菜单

任务控制基础

分布式编程:一个简单的分布式程序(客户端在一个节点,服务器在相同主机的另一个节点)

文件编程(一)

读取文件的几种方法

1.读取文件里的所有数据类型:

2.分次读取文件里的数据类型:

3.分次读取文件里的行

4.读取整个文件到二进制型中

5.通过随机访问读取文件


初步了解

OTP平台

OTP最初是开放电信平台(Open Telecom Platform)的缩写,更贴切的名字应该是“并发系统平台”。

OTP的优点:生产效率高、具有稳定性、易于监控、可升级、代码库可靠。

Erlang中的并发

Erlang程序能够自动适配不同的硬件,CPU越多执行越快。

在Erlang中,并发的基本单位是进程。每个进程代表一个持续的活动,它是某段程序代码的执行代理,与其他各自执行自身代码的进程一起并发执行。

进程拥有自己的工作内存和自己的信箱,进程之间互不共享内部状态,只能进行复制式通信。


 Erlang Shell

部分shell函数

help()

打印可用的shell函数

h()

打印先前输入过的命令

v(N)

取出第N号提示符对应的计算结果

pwd()

打印当前目录

ls() / ls(Dir)

打印目录内容(Dir是双引号字符串)

cd(Dir)

更改当前目录

i()

打印当前系统的运行时信息

memory()

打印内存使用信息

q()

退出(会先返回ok)

示例:

1> memory().
[{total,22824296},
 {processes,6117672},
 {processes_used,6116552},
 {system,16706624},
 {atom,278697},
 {atom_used,267521},
 {binary,696320},
 {code,6126222},
 {ets,365600}]
2> i().
Pid                   Initial Call                          Heap     Reds Msgs
Registered            Current Function                     Stack
<0.0.0>               erl_init:start/2                       610     2939    0
init                  init:loop/1                              2
<0.1.0>               erts_code_purger:start/0               233       23    0
erts_code_purger      erts_code_purger:wait_for_request        1
<0.2.0>               erts_literal_area_collector:start      233        7    0
                      erts_literal_area_collector:msg_l        8
<0.3.0>               erts_dirty_process_signal_handler      233        7    0
                      erts_dirty_process_signal_handler        2
<0.4.0>               erts_dirty_process_signal_handler      233        7    0
                      erts_dirty_process_signal_handler        2
<0.5.0>               erts_dirty_process_signal_handler      233        7    0
                      erts_dirty_process_signal_handler        2
<0.6.0>               prim_file:start/0                      233        6    0
                      prim_file:helper_loop/0                  1
<0.7.0>               socket_registry:start/0                233        8    0
socket_registry       socket_registry:loop/1                   4
<0.10.0>              erlang:apply/2                        6772    50779    0
erl_prim_loader       erl_prim_loader:loop/3                   6
<0.42.0>              logger_server:init/1                   610      648    0
logger                gen_server:loop/7                       11
<0.44.0>              erlang:apply/2                        2586      837    0
application_controlle gen_server:loop/7                        7
<0.46.0>              application_master:init/4              376       40    0
                      application_master:main_loop/2           7
<0.47.0>              application_master:start_it/4          610      566    0
                      application_master:loop_it/4             6
<0.49.0>              supervisor:kernel/1                   2586     3250    0
kernel_sup            gen_server:loop/7                       11
<0.50.0>              erlang:apply/2                       75113   103937    0
code_server           code_server:loop/1                       4
<0.51.0>              supervisor_bridge:standard_error/      233       57    0
standard_error_sup    gen_server:loop/7                       11
<0.52.0>            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值