繁体   English   中英

基于Actor的编程语言中的死锁

[英]Deadlocks in Actor based Programming languages

Scala或Elixir等基于演员的语言是否仍会出现僵局? 如果是,如何检测并避免它们?

Scala不是基于演员的语言。 Akka只是一个图书馆(它经常被滥用恕我直言)。

可能会发生死锁,因为您可以在receive方法中运行任意代码。 为了防止它 - 不要直接在actor代码中使用任何阻塞/同步,也不要调用外部对象使用阻塞内部的方法。

在Erlang中,这是可能的。 您可以让两个进程同时等待另一个进程发送消息。 一般来说,这不是一个主要问题。

但在大多数情况下,你必须努力实现它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM