gpt4 book ai didi

concurrency - Erlang 进程如何并发访问邮箱

转载 作者:行者123 更新时间:2023-12-04 17:36:01 24 4
gpt4 key购买 nike

有很多关于如何使用erlang邮箱的信息,但很少找到一篇论文或文档描述erlang如何在VM内部并发实际访问邮箱。

据我了解,Erlang VM 必须执行锁定或 CAS 操作以确保消息完整性。二郎的幕后有什么高深的方法吗

最佳答案

邮箱我假设您是指进程邮箱,即插入一条消息。有趣的问题!

有一些谈话here关于 Erlang 进程消息队列的锁定特性:

Just a curiosity: currently there is some kind of locks in sending message. Have anybody tried to implement a lock-free linked list: http://www.amd64.org/fileadmin/user_upload/pub/epham08-asf-eval.pdf

Or I'm just looking at wrong place and erts_smp_proc_lock is already using something like this?



消息队列已经有了这个,有点。拥有的进程
消息框有一个他有锁的“内盒”和一个“外盒”
box”,所有发件人都在竞争。所以锁争用在
当大量进程发送到“外部框”上的队列尾部
那个过程。不过,邮箱所有者并不关心它。

您可能会发现阅读 BEAM process 的实现说明性的。

简短回答:是的,锁定是在消息队列上完成的,但它很复杂并且经过优化以减少调度程序线程之间的争用。

关于concurrency - Erlang 进程如何并发访问邮箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18459633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com