`
wudixiaotie
  • 浏览: 140960 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

erlang hibernate

 
阅读更多

在执行程序的时候,可以让不需要运行的进程进入休眠状态,erlang:hibernate,可以极大的减少内存和CPU的消耗,而当有消息专递给该进程后,则退出休眠状态。但是有几点要注意:

1.进入hibernate的进程会清空调用堆栈,也就是说,进程执行到A函数内部,然后A函数调用B函数,然后进入休眠,当被唤醒的时候继续执行完成B函数后进程结束,而不会返回到A方法了。

2.在休眠和唤醒过程中,erlang会对进程进行GC,也就是2次GC。所以erlang不推荐在业务非常繁忙的应用中频繁的进行进程休眠,但是经过我的测试休眠和唤醒过程中所耗费的资源远远小于维持一个tcp gen_server的资源,所以在实际应用的过程中还是要考虑清除。

3.进程字典在进程休眠后,里面的数据再唤醒后能继续使用。

3
2
分享到:
评论
2 楼 wudixiaotie 2015-08-21  
white_crucifix 写道
吓死宝宝了,以为有erlang版的hibernate框架

能别卖萌么。。。。
1 楼 white_crucifix 2015-07-31  
吓死宝宝了,以为有erlang版的hibernate框架

相关推荐

    erlang——gen-server.pdf

    Erlang中的`gen_server`模块是OTP (Open Telecom Platform)设计原则的一部分,它提供了一种标准的方式来实现客户端-服务器架构。gen_server行为模块旨在简化并发处理和错误管理,允许多个客户端共享服务端的资源。它...

    Spring Data JPA中文文档[1.4.3]_springdatajpa_erlang_waitxpf_

    它提供了一种声明式的数据访问接口,允许开发者定义自定义的查询方法,而不需要手动编写 SQL 或者 HQL(Hibernate Query Language)。例如,只需声明一个返回特定类型的方法,Spring Data 就会自动将其映射为对应的 ...

    Android SDK 教程 等 20 本

    Erlang 编程规则.epub Githug 通关攻略.epub Glide v4 中文版.epub Groovy 入门.epub Hibernate 高级教程.epub iOS IAP 教程.epub Java 微信开发.epub PaddlePaddle 深度学习入门.epub Spring Boot Cookbook 中文版....

    信号灯:使用ETS的快速信号灯

    在某些情况下,使用Erlang的BIF(Built-in Function)如`erlang:hibernate/3`或者轻量级进程(Lightweight Process, LWP)可能会提供更好的性能。 此外,Elixir社区也有一些库提供了更高级的同步原语,例如`...

    poist:在应用程序中执行后台作业处理的简便方法

    支持HibernateORM Poist是跨平台 利用Rabbit MQ和Spring AMQP 与Resque,Sidekiq,delayed_job,Celery,Quartz Scheduler,Hangfire,Gearman等其他解决方案相比,它易于修改和使用 使用手法 安装Java JRE sudo...

    Java框架研发思考.docx

    然而,作者并不满足于仅仅集成现有框架,他希望实现业务层和持久层的紧密集成,避免ORM框架如Hibernate可能带来的业务实体对象绑架问题。因此,Jdon框架选择了不同的设计路径,即业务实体对象常驻内存,以提高性能,...

    learning rabbitmq

    Book Description, RabbitMQ is Open Source Message Queuing software based on the Advanced Message Queue Protocol Standard written in the Erlang Language. RabbitMQ is an ideal candidate for large-scale...

    t_七个小矮人_8_tech_overview1

    - **语言**:如Node.js、Erlang、Python和Java,每种都有其独特优势,如Node.js适合实时I/O密集型应用,Python适合快速开发。 - **Web框架**:如Node.js的Express、Python的Django和Flask等,用于简化服务器端应用...

Global site tag (gtag.js) - Google Analytics