Erlang(和扩展名Elixir)是否提供去除原子的方法?

犬蠕虫

可以从运行的Erlang / Elixir系统中除去原子吗?

具体而言,我对如何创建应用服务器感兴趣,该服务器可以在其中加载代表应用程序的模块,并按需运行并随后将其删除。

我想这比删除代表模块的原子要复杂得多,因为它可能会定义更多可能难以跟踪或无法跟踪的原子。

或者,我想知道模块是否可以独立运行,以便在不再需要它时可以从正在运行的系统中有效删除它产生的所有引用。

编辑:只是为了澄清,因为SO认为此问题在其他地方得到了回答,所以该问题与原子的垃圾回收无关,而与人工管理有关。为了进一步澄清,以下是我对亚历克斯回答的评论:

我还考虑过拆分单独的实例(节点?),但这对于按需,按用户的应用程序来说将是非常昂贵的。我想做的是模仿SAP ABAP系统的工作方式。一种选择是抢先运行一定数量的实例,然后在每次请求完成时重新启动它们。(再次,虽然很贵)。另一个可能是监视实例的原子表,并在接近极限时重新启动该实例。

我看到运行几个节点/实例(尽管这是一个ABAP系统所具有的;几个OS进程处理来自用户的请求)的缺点是,您失去了在这些实例之间共享缓存的字节码的能力。在ABAP系统中,不同进程可以访问字节码的高速缓存(它们称为“负载”),因此在程序启动时,它首先检查高速缓存,然后再从存储中取出它。

亚历克斯·多夫詹宁(Alex Dovzhanyn)

不幸的是,直到VM关闭,原子才完全不会在VM中被破坏。原子限制也在各个进程之间共享,这意味着生成新的进程来处理原子分配/解除分配在您的情况下不起作用。

通过运行单独的Erlang应用程序并通过套接字与之通信,您可能会产生一个完全独立的VM实例,尽管我不确定这样做的效果如何。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以提供不带文件扩展名的静态HTML?

用Java保存FileDialog去除初始文件扩展名

是否允许您提供所需的任何文件扩展名(对于Unix,Linux,Windows)?

错误:未指定默认引擎,也未提供扩展名(ExpressJs和nunjucks)

FinderSync检查是否选择了扩展名

git扩展名和* .xls

除了扩展名以外,.json,.txt,.html,.css和.js文件之间是否有区别?

是否有通过文件扩展名匹配的通配符模式,包括 PWD 和递归?

是否可以创建一个消息扩展名,以允许上传图片和提及用户?

Groovy删除文件扩展名的方法?

Exchangelib:ItemAttachment 似乎从附件名称中去除文件扩展名

是否有任何扩展名或某种方法可以读取netlogo中的xml文件?#netlogo

是否有新的Java 8检索文件扩展名的方法?

在Swift iOS中是否需要使用扩展名进行委托方法定义

提供文件时未正确获取文件扩展名

在Django中提供无扩展名的静态HTML文件

Spring不提供扩展名未知的静态文件

不提供文件扩展名就无法导入TypeScript模块

Nginx-提供不带扩展名的图像

IIS无法提供.LDF或.MDF扩展名

Python:检查扩展名列表中是否存在以扩展名结尾的文件名

有没有一种方法可以检查文件是否具有扩展名,如果没有扩展名,请附加该扩展名?

为什么JSF提供带有文件扩展名.jsf和GET参数ln = js的JavaScript资源?

在Windows中搜索和查找不带扩展名的文件或文件夹的方法

split 方法和 split 上的 '.' 字符(没有 csv 扩展名)

域和扩展名的正则表达式无法处理双字扩展名

perl 如何获取文件名和扩展名

在Bash中提取文件名和扩展名

设置文件名和扩展名的问题