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

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

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

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

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

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

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

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