标签: actor

C#的Actors有什么好的实现?

.net/c#的actor并发模型有没有很好的实现?

我必须优化ac#例程,我认为演员模型非常适合作为我的问题的解决方案.不幸的是,我只有scala实现经验.

.net c# concurrency actor

71
推荐指数
7
解决办法
3万
查看次数

构建基于Actor的系统的设计模式/最佳实践

我正在努力寻找任何适当的链接来设计模式,最佳实践或良好的基本架构原则,这些原则应该用于构建基于Actor的应用程序.我知道的那几个是:

博客文章,文章,WIKI,指南

文件

图书

实现

  • Akka框架(Scala中演员的替代实现,具有多个Erlang行为的端口以及许多其他演员的重新演绎模式)
  • Scalaz Actors(演员的作曲,策略和承诺)

演讲

erlang scala actor

63
推荐指数
2
解决办法
1万
查看次数

Scala中的Akka,感叹号和问号

向Actors发送消息时感叹号(!)和问号(?)之间有什么区别?

myActor ! Hello(value1)
myActor ? Hello(value1)
Run Code Online (Sandbox Code Playgroud)

scala operators actor akka

63
推荐指数
2
解决办法
2万
查看次数

F#在产卵和杀戮过程中真的比Erlang快吗?

更新:此问题包含一个错误,使基准无意义.我将尝试更好的基准比较F#和Erlang的基本并发功能,并在另一个问题中查询结果.

我正在尝试了解Erlang和F#的性能特征.我发现Erlang的并发模型非常吸引人,但我倾向于使用F#来实现互操作性.虽然开箱即用F#不提供像Erlang的并发原语 - 从我可以告诉async和MailboxProcessor只涵盖Erlang做得很好的一小部分 - 我一直试图了解F#性能的可能性明智的.

在Joe Armstrong的Programming Erlang一书中,他指出Erlang中的进程非常便宜.他使用(大致)以下代码来证明这一事实:

-module(processes).
-export([max/1]).

%% max(N) 
%%   Create N processes then destroy them
%%   See how much time this takes

max(N) ->
    statistics(runtime),
    statistics(wall_clock),
    L = for(1, N, fun() -> spawn(fun() -> wait() end) end),
    {_, Time1} = statistics(runtime),
    {_, Time2} = statistics(wall_clock),
    lists:foreach(fun(Pid) -> Pid ! die end, L),
    U1 = Time1 * 1000 / N,
    U2 = Time2 * 1000 / N,
    io:format("Process spawn time=~p (~p) microseconds~n",
          [U1, U2]).

wait() -> …
Run Code Online (Sandbox Code Playgroud)

concurrency erlang f# actor

61
推荐指数
2
解决办法
7617
查看次数

单个撇号在Scala中意味着什么?

ScalaActors.pdf上的这个幻灯片放映中,单个引号指示何时将消息发送给pong actor?

class Ping(count: int, pong: Pong) extends Actor {
def act() {
   pong ! 'Ping // what does the single quote indicate???
      receive {
         case 'Pong =>
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

scala actor

60
推荐指数
2
解决办法
1万
查看次数

akka演员中的前锋和告诉之间的区别

如果我发送相同的消息,告诉和转发有什么区别:

case msg: Message =>
  otherActor tell (msg,sender)
Run Code Online (Sandbox Code Playgroud)

case msg: Message =>
  otherActor forward msg
Run Code Online (Sandbox Code Playgroud)

scala actor akka

58
推荐指数
2
解决办法
1万
查看次数

不同的Scala Actor实现概述

我正试图找到'正确'的演员实现.我意识到有一堆它们,选择一个有点令人困惑.就个人而言,我对远程演员特别感兴趣,但我想完整的概述会对很多人有所帮助.这是一个非常普遍的问题,所以请随意回答您所了解的实施问题.

我知道以下Scala Actor实现(SAI).请添加缺少的.

  • Scala 2.7(区别)
  • Scala 2.8
  • Akka(http://www.akkasource.org/)
  • 电梯(http://liftweb.net/)
  • Scalaz(http://code.google.com/p/scalaz/)


  • 这些SAI的目标用例是什么(轻量级与"重型"企业框架)?

  • 他们支持远程演员吗?远程参与者在最高审计机关中有哪些缺点?
  • 他们的表现如何?
  • 社区有多活跃?
  • 他们开始有多容易?文档有多好?
  • 它们有多容易扩展?
  • 他们有多稳定?哪些项目正在使用它们?
  • 它们的缺点是什么?
  • 他们的设计原则是什么?
    • 它们是基于线程还是基于事件(接收/响应)或两者兼而有之?
    • 嵌套的receiveS
    • hotswapping Actor的消息循环

scala lift scalaz actor akka

53
推荐指数
4
解决办法
9670
查看次数

斯卡拉演员 - 最糟糕的做法?

我觉得在Scala中使用actor有点不安全.我已经阅读了有关如何做东西的文档,但我想我还需要一些DO NOT规则才能随意使用它们.我想我会害怕以错误的方式使用它们,我甚至都不会注意到它.

你能想到一些东西,如果应用的话,会导致Scala演员带来的好处,甚至是错误的结果吗?

scala actor akka

49
推荐指数
2
解决办法
6113
查看次数

哪个Actor模型库/框架适合python和Erlang一样?

我正在为Python 2.x寻找一个易于学习的Actor库或框架.我尝试了Candygram和Twisted,但我不喜欢它们.我想要一些很容易扩展到suppero Greenlet(= stackless python)的东西.

  • Candygram太老了.
  • 扭曲太复杂了.
  • Gevent:目前还不清楚它是否能支持Actors模型.

你有什么建议?

python erlang actor python-stackless

44
推荐指数
4
解决办法
2万
查看次数

演员模式 - 它究竟构成了什么

我正在做一些客观的C/iOS开发,并听过几个对Actor模式的引用.在Big Nerd Ranch的书中,它说:

当您有一个长时间运行的任务和一些需要在完成后执行的代码时,将使用一个actor对象.这种对象被赋予执行任务所需的信息以及在该任务完成时执行的回调.actor在没有任何进一步输入的情况下在自己的线程上运行,并在完成时被销毁.

这里的演员与网络电话一起使用.这是演员主要使用的方式吗?是否与代表团相互排斥或互补?Actor的定义似乎非常广泛,我试图更好地处理它的含义.此外,是否可以在非OO环境中拥有Actor?

design-patterns actor

44
推荐指数
1
解决办法
2万
查看次数