`
jias_je
  • 浏览: 40573 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

erlang 学习笔记1

阅读更多
周末在看otp的时候,自己做了一个小的module应用
利用gen_server实现读写文件,其中日志用的log4erl,如果有朋友要玩的话可以去他的svn上down一下,附件是源代码及log4erl配置文件,注意改一下路径,这个module简单readme如下,希望这个example对初学的人有帮助,也希望大家指点


介绍
module: rw_file 读写文件控制

原理
  在state中 一个资源文件作为一个key 对应 valueList ==请求他的所有目标文件
从该key读入的data将会依次写入他的valueList,该读写是一个进程每隔1秒时间读写2kb数据[大小可在程序中修改],
所以state中有多少个key就会有多少个进程,当该key被读完关闭后,state将移除该key及其valueList且其对应
进程会退出。

主要函数功能介绍
  start()
  启动log4erl,gen_server。

 
  request(Sour,Dest) ->
  {response,request_exist}|
  {response,request_success} |
  {response,request_faild}
 
  Sour 为请求的资源文件,  如"f:/test.txt"
  Dest 为要写入的目的文件  如"f:/test1.txt"
  {response,request_exist} :该类型请求已经存在队列中且正在执行读写,所以将被忽视
  {response,request_success} :该请求成功将会被加入队列,服务器将执行此次读写任务
  {response,request_faild} :在请求的过程中遇到错误,如系统错误,资源不存在等,请求不会被加入队列
 
  example:
  rw_file:request("d:/log.txt","f:/gg0.dat") --> {response,request_success} f盘会新建gg0.dat
  rw_file:request("d:/log.txt","f:/gg0.dat") --> {response,request_exist}
  rw_file:request("d:/log.txt","e:/gg0.dat") --> {response,request_success} e盘会新建gg0.dat
  rw_file:request("d:","f:/gg0.dat") --> {response,request_faild}
 
  stop()
  停止log4erl,server。
分享到:
评论

相关推荐

    erlang学习笔记

    ### Erlang学习笔记:深入解析Erlang编程与系统管理 #### 1. Erlang编程基础与资源 在深入探讨Erlang编程之前,我们首先需要了解一些基础资源和学习资料。Erlang官方网站([www.erlang.org](http://www.erlang.org...

    Scala、Groovy++、Stackless Python、Erlang 学习笔记及分享

    学习Scala,你需要理解其静态类型的特性、模式匹配、 Actors模型以及类型系统,包括高阶函数、特质(traits)和不可变数据结构。 Groovy是另一种基于JVM的动态编程语言,它的语法简洁,易于阅读和编写。Groovy与...

    Redis全套学习笔记 (带章节目录) 完整版pdf

    本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...

    rabbitmq学习笔记和软件和插件

    **RabbitMQ学习笔记与软件插件详解** RabbitMQ是一种广泛应用的消息中间件,它基于AMQP(Advanced Message Queuing Protocol)协议,提供可靠的消息传递服务。在分布式系统中,RabbitMQ扮演着数据交换中心的角色,...

    java版商城源码-hello-erlang:Erlang的笔记和例子

    这些是我在学习过程中关于 Erlang 的笔记和主要引用。 检查部分以查看我从哪里获取报价。 请注意,此 repo 始终在进行中。 (我还没找到时间完成这本书。) 话题 陷阱 erlang 没有null值这样的东西 每个函数都需要...

    RabbitMq学习笔记1

    在本篇学习笔记中,我们将首先了解RabbitMQ的安装过程。 1. **Erlang的安装**: Erlang是RabbitMQ的基础,因为RabbitMQ是用Erlang编写的。安装Erlang可以通过以下命令完成: ```bash sudo apt-get install ...

    Redis全套学习笔记(带章节目录)完整版pdf最新版本

    本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...

    rabbitmq学习笔记.zip

    在这个“rabbitmq学习笔记.zip”压缩包中,我们可以期待找到一系列关于RabbitMQ的核心概念、安装教程、使用方法以及常见问题的详细说明。 首先,RabbitMQ的基本概念包括生产者(Producer)、消费者(Consumer)、...

    Erlang程序设计(第2版)读书笔记:Erlang安装和基础语法

    Erlang程序设计的书籍是学习这门语言的重要资源。《Erlang程序设计(第2版)》便是一本面向初学者的经典教材,提供了丰富的基础知识和深入的讨论,对理解和掌握Erlang语言有极大帮助。 对于Erlang的安装,目前有...

    redis 的学习笔记A

    1. NoSQL数据库的概念和发展 NoSQL(Not Only SQL)并非拒绝SQL,而是指非关系型的数据库系统。随着互联网技术的发展,特别是Web2.0时代,高并发、大数据量的场景增多,传统的关系型数据库在扩展性和性能上面临挑战...

    RabbitMQ学习 笔记

    ### RabbitMQ 学习笔记知识点总结 #### 一、RabbitMQ 历史与背景 RabbitMQ 是一个基于 AMQP(高级消息队列协议)的开源消息中间件,由 Erlang 语言编写而成。AMQP 的出现填补了异步消息处理领域的标准化空白,特别...

    XMPP学习入门笔记

    本篇学习笔记汇总了XMPP的基本概念以及多种编程语言下的客户端库介绍,旨在帮助读者快速了解并上手XMPP技术。XMPP作为一种强大的即时通讯协议,不仅具备高度的可扩展性,还支持多种编程语言。这使得开发者可以根据...

    RabbittMQ软件,资料及笔记

    这个“RabbittMQ软件,资料及笔记”压缩包可能包含了一系列关于RabbitMQ的学习资源,包括文档、教程、笔记等,旨在帮助用户深入理解和熟练掌握这一强大的中间件。 首先,让我们来了解一下RabbitMQ的核心概念和功能...

    狂神说Redis笔记完整版PDF最新版本

    Redis(Remote Dictionary Server ),即远程字典...《狂神说Redis笔记》主要是狂神说发的笔记,通俗易懂,从入门到主从和实践,对Redis有一个很好的学习,通过本教程你可以一步一步了解 Redis 的应用,感兴趣的可以下载

    RabbitMQ学习讲义

    【RabbitMQ学习讲义】 RabbitMQ是一个开源的消息队列系统,它基于高级消息队列协议(AMQP)实现,旨在提供可靠的、跨平台的消息传递。AMQP是一种应用程序层的开放标准,允许不同的系统、语言和应用之间进行无缝的...

    ericssonaxel.github.io:evm.com

    【描述】"帖子" 提示我们这个项目可能包含了一系列的文章或博客帖子,这些帖子可能涵盖了Erlang语言的学习笔记、EVM的内部工作原理、如何使用Erlang进行并发编程、Erlang在分布式系统中的应用,以及与SCSS(Sassy ...

    rabbitmq.zip

    乐优商城rabbitmq Linux安装包,esl-erlang_17.3-1_centos_6_amd64.rpm ,esl-erlang_17.3-1_centos_6_i386.rpm,rabbitmq-server-3.4.1-1.noarch.rpm 等,还有安装笔记,学习黑马乐优商城的同学可以进行下载

    RabbitMQ自学笔记

    综上所述,通过本篇笔记的学习,读者可以全面掌握RabbitMQ的基本使用方法以及一些高级特性,这对于实际项目中的消息处理需求提供了强有力的支持。无论是简单的消息传输还是复杂的分布式系统架构设计,RabbitMQ都能...

    rabbitmq笔记及面试要点

    选择RabbitMQ的理由包括其对AMQP标准的全面支持,提供高度可靠的消息持久化功能,以及强大的高并发处理能力,这得益于Erlang语言的天然优势。此外,RabbitMQ的集群部署简单,社区活跃,使得它成为许多企业的首选。 ...

Global site tag (gtag.js) - Google Analytics