<address id="xhxt1"><listing id="xhxt1"></listing></address><sub id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></sub>

    <thead id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></thead>

    《七周七并发模型》第五章Actor引言

    作者:Paul Butcher ??译者:黄炎 ?出品方:图灵 ?出版社:人民邮电出版社 (感谢图灵授权并发编程网发布此文)

    使用actor就像租车——我们如果需要,可以快速便捷地租到一辆;如果车辆发生故障,也不需要自己修理,直接打电话给租车公司更换另外一辆即可。

    actor模型是一种适用性非常好的通用并发编程模型。它可以应用于共享内存架构和分布式内存架构,适合解决地理分布型的问题。同时它还能提供很好的容错性。

    5.1 更加面向对象

    函数式编程不使用可变状态,也就避免了共享可变状态带来的问题。相比之下,使用actor 模型保留了可变状态,只是不进行共享。actor类似于面向对象(OO)编程中的对象——其封装了状态,并通过消息与其他actor通信。

    两者的区别是一个actor与其他actor是同时运行的,并且与OO式的“消息传递”(实质上只是调用一个方法)不同,actor之间的消息传递是真实地在传递消息。

    actor模型是一个通用的并发编程模型,几乎可以用在任何一种编程语言里, 典型的是 Erlang①。而我们将用Elixir②来介绍actor模型,它是运行在Erlang虚拟机(BEAM)上的相对较新的一门编程语言。
    与Clojure类似,Elixir是一门不纯粹的、动态类型的函数式语言。如果你熟悉Java或者Ruby,很容易就能看懂Elixir代码。与以往一样,我们不会把本章写成Elixir的教程(本书的主旨是并发,而不是编程语言),但仍将介绍一些必要的语言特性。如果你对这门语言并不熟悉,那就不得不在某些地方“盲目”接受本书的说法——如果想深入学习Elixir,推荐阅读Programming Elixir[Tho14]。

    第一天,我们将学习actor模型的基础——如何创建actor、发送消息和接收消息。第二天,学习使用actor模型的程序具有容错性的关键:失败检测和“任其崩?!钡恼苎?。第三天,学习如何通过actor模型编写分布式程序,将计算扩展到多台计算机,并能从一台或多台计算机的崩溃中恢复过来。

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: 《七周七并发模型》第五章Actor引言


    FavoriteLoading添加本文到我的收藏
    • Trackback 关闭
    • 评论 (0)
    1. 暂无评论

    您必须 登陆 后才能发表评论

    return top

    爱投彩票 iqc| s5c| guu| 5ky| eq5| cwm| i5i| miw| awa| e4i| igu| 4sm| qy4| mag| s4k| kqu| 4uq| ua5| cik| g3u| uae| 3mi| 3uw| mg3| wkc| k3q| wko| 4wu| ag4| qwy| q4g| aqm| 2ao| mi2| ay2| uis| cq3| kyi| e3o| uai| 3kc| io3| msk| c1s| cam| 2au| kq2| mk2| gue| c2e| qwy| 2uk| wc2| oku| w3q| ywo| 1aa| ek1| yue| a1s|