自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 使用ets和dets,dict和dets

编写一种键->值存储,让它把较小的值放入内存,把较大的值放入磁盘。制作一个适配器模块来实现它,并让这个模块与本章前面的适配器具有相同的接口。1 使用dict存数据。2 使用ets存数据。

2024-09-14 00:19:38 229

原创 erlang:练习-使用dets

(1) 扩展adapter_db1里的适配器,使调用adapter_db1:new(persistent)能创建一个持久性数据存储的元组模块。使用 atom_concat 函数将当前模块名和 Pid 连接成表名,

2024-09-11 23:55:04 116

原创 erlang表意编程

可以看出不知道字典里是否有这个键,因为代码模式匹配了lookup的所有返回值{ok, Val}和not_found。用lookup编写的代码会比用fetch、search和is_key三者之一编写的代码更难以理解和维护。与其猜测意图和分析代码,不如调用一个能显式表达三种意图之一的库方法。lookup 有三种不同的用途:数据检索、搜索和测试某个键是否存在。无需猜测和分析程序,函数名就能清楚表达意图。用来从字典里提取带有已知键的项,如果不存在就会报错。测试字典里是否存在特定的键, 拿到值却不使用。

2024-09-11 00:06:13 117

原创 erlang编程术语(二)

有两个或多个功能相近的库,但无法决定要用哪一个。这些库可能具有相似的函数接口,但性能特征不同。能够在多种不同实现方式做选择。将dict和list两种不同的实现方式存在一个元组里,通过第二个字段原子类型来区分实现方式,接口通用且互不干扰。状态和模块名封装到一起,隐藏信息和创建适配器模块。新版本不支持元组模块。

2024-09-09 23:44:52 244

原创 erlang编程术语

网络请求获取文件,需要对请求进行复杂处理,得到文件请求,同时不同的协议数据不同,非常复杂,而我们只是想处理获取文件的请求,可以使用中间人进程插入到中间,它只负责把网络请求装换成文件请求,极大简化了设计。term_to_binary(Term)和逆函数binary_to_term(Bin)对所有请求消息和返回消息进行加密压缩和解压,让所有通信变成同一种数据格式。有一种通用的格式就足够了。一切消息都使用Erlang数据类型。不需要那么多各不相同的客户端口服务器请求和响应编码,消息统一化来解决多种问题。

2024-09-07 00:32:41 135

原创 opt:application相关练习(二)

prime_queue_server添加到prime_tester_supervisor的监控下。制作一个队列服务器来把请求加入队列, prime_queue_server来处理请求。

2024-09-05 23:15:05 159

原创 opt:application相关练习(一)

制作由10个质数测试服务器组成的进程池。制作一个队列服务器来把请求加入队列,直到其中一个质数测试服务器处于空闲状态为止。当质数测试服务器空闲时,向它发送一个请求来测试某个数字是否是质数。制作一个名为 prime_tester_server 的gen_server,让它测试给定的数字是否是质数。把它添加到sellaprime_supervisor.erl的监控树里。原因分析:sellaprime_supervisor修改没有重新编译。在应用监控器下添加此监控器。修改监控树和app配置。尝试使用判断质数出错。

2024-09-04 23:09:57 230

原创 erlang日志和读取

提供shell输出,又能把写入shell的所有信息复制到一个滚动日志文件,最大文件大小是10MB,超过内容会滚动覆盖。日志写入文件和读取有问题,不能成功写入文件。只让错误记录器报告错误。

2024-09-03 23:20:12 178

原创 otp应用程序

application:stop(sellaprime)或init:stop()都可以停止程序。启动sellaprime监控器。

2024-09-02 23:06:50 122

原创 erlang:监控树

如果一个监控器在Time秒内执行了超过MaxRestarts次重启,那么这个监控器就会终止所有工作进程然后退出。这是为了防止出现一种情形,即某个进程崩溃、被重启,然后又因为相同原因崩溃而形成的无限循环。supervisor行为用一个回调模块作为参数,里面指定了监控策略以及如何启动监控树里的各个工作进程。它定义了监控器用于启动工作器的函数,将被用作apply(Mod, Fun, ArgList)的参数。这是被监控进程的类型。这是一个原子类型的标签,将来可以用它指代工作进程(如果有必要的话)。

2024-08-30 21:10:05 278

原创 gen_server练习

【代码】gen_server练习。

2024-08-29 23:46:58 173

原创 ets练习

统计函数执行次数。

2024-08-28 23:03:39 111

原创 ets,dets,gen_server结合

将ets基本操作与gen_server结合,增删改查。使用dets实现数据的持久化。

2024-08-27 23:17:02 113

原创 ets和dets结合

dets和ets结合,从磁盘读出放入内存,关闭就销毁ets。dets基础操作,match模式匹配不接收匿名函数。

2024-08-26 23:28:43 186

原创 erlang-11-ets

查看指定key对应值的第2项。指定表信息指定项信息。

2024-08-23 23:32:58 104

原创 erlang学习-10-otp

结合警报的质数服务器,指定范围最大质数。做一点修改就变成面积服务器。

2024-08-22 23:15:43 118

原创 erlang学习-9-otp

读取错误日志文件失败,暂未解决。

2024-08-21 23:16:41 216

原创 erlang学习-9-otp

通用处理器回调函数配置错误记录。

2024-08-20 22:17:23 157

原创 erlang学习-8-otp

job_centre:statistics,统计队列中,进行中,已完成任务数量。gen_server练习。

2024-08-19 22:37:48 202

原创 erlang学习-7-otp

gen_server测试关于热更新。

2024-08-16 22:23:39 141

原创 erlang学习-6-otp

空白服务器通过接受消息改变行为,与热代码更新效果类似。事务和热代码更新结合。通过发送信息切换功能。

2024-08-15 22:33:02 121

原创 erlang学习-5-otp

当我们需要添加一个新功能接口allname时,写新的nameserver。不能将name_server作为回调模块,服务器名已经硬编译进这个模块。添加热代码交换,发送消息实现。通过热更新修改回调模块。

2024-08-14 23:16:31 167

原创 erlang学习-4-gen_server

通过修改导入的server模块,就能修改非函数行为。回调函数和客户端调用的接口写在一起。手动模拟handle出错。写一个错误处理的服务器。

2024-08-13 22:41:29 181

原创 erlang学习-3-并发

按照书中例,创建和销毁进程。管理注册进程的四个方法。

2024-08-12 23:11:33 130

原创 erlang学习-2-并发

如果在面积函数添加超时2000毫秒,超过此时间没接收消息,进程就会终止,rpc中访问会等不到消息回复,针对发送消息程序创建异步处理,结果自身没发出消息,超时处理可以防止进程资源浪费。通过使用spawn创建进程,服务器port传递参数,处理请求(每个请求一个进程),对于实时性要求不高的抛出事件处理。超时值为0的接收,会立即进入超时部分,但会先读取一次消息队列,每个进程都有自己的进程邮箱, 先进先出。尝试定时器,还没完全理解。从结果上看满足先进先出。

2024-08-10 00:14:27 201

原创 erlang学习-1-并发

打印结果成功,下一行是什么?Msg 这个表达式的值被定义为Msg。把spawn和rpc隐藏,服务器代码改动不影响客户端代码。在此代码中发送消息的进程和接收处理消息的进程是同一个。是传递给函数的参数列表,Pid是进程标识。rpc函数帮助我们发送请求并等待响应。是要执行函数的Erlang模块名,进程处理结果怎么返回发送消息进程?是要在新进程中执行的函数名,计算面积的函数area/1。防止接受到其他进程发的消息。转换为接受消息的进程。

2024-08-08 21:43:50 187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除