文章:Ruby中的Concurrency、Actors和Rubinius——MenTaLguY访谈

随着最近大家对Erlang和几乎所有能使并发程序设计变得简单的东西趋之若骛,一大堆不熟悉的名词冒了出来。不过在计算机界,这些技术可都不是新的。

Actors的概念已经出现了几十年了,但直到最近才在Erlang的推动下浮出水面,是Erlang令Actor风格的编程变得容易。它使用轻量级进程、简洁的语法来给进程发送消息,并在处理接受消息时使用模式匹配。一个叫做Revactor的Ruby 1.9的库给Ruby加入了Erlang风格的Actors。

协程(Coroutines)也已经出现很长时间了,在许多语言中呈现不同的形式。它最开始作为并发性原语,在60年代由于预定线程的流行而消失于公众的视线。不过它在某些语言中还保留了下来。Python曾经在有段时间具有一种特别的协程,即Generator特性。Lua也曾具有完整的协程。像C之类的语言也曾有协程库,例如libtask和Protothreads。Ruby 1.9加入了称为Fibers的特性,既可以完全做为协程使用,也可以用通过Generator来使用。

我们采访了MenTaLguY,他作为Ruby社区的会员,长期致力于并发程序的各个方面。这篇访谈力图透视Actors和协程,并探究他们与Rubinius的关系。Rubinius也有一套自己的并发程序原语,例如用于线程通讯的通道(Channel)。

阅读:Ruby中的Concurrency、Actors和Rubinius——MenTaLguY访谈

你可能感兴趣的:(文章:Ruby中的Concurrency、Actors和Rubinius——MenTaLguY访谈)