如何与Ruby中的线程进行通信?

时间:2012-04-06 15:35:23

标签: ruby-on-rails ruby real-time juggernaut

我正在构建一个实时游戏,主要是基于聊天的游戏,我需要同时运行许多这些聊天,通过网络套接字接收和发送数据。

我被告知,不是每场比赛产生一个进程,我应该有一个进程每场比赛一个线程(可能使用事件机器)。

我正在使用Juggernaut作为套接字部分,它允许我使用发布/订阅系统向游戏中的所有玩家发送数据:每个玩家订阅一个游戏。但是如何将每个玩家的数据发送到特定的游戏?

我想我可以将游戏ID或频道ID从客户端发送到服务器,然后将其发送到相应的线程。

但是如何向线程发送任何内容?

1 个答案:

答案 0 :(得分:4)

要将数据发送到线程,您可以使用Ruby Queue:

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/thread/rdoc/Queue.html