Como se comunicar com threads no Ruby?

Estou construindo um jogo em tempo real, principalmente baseado em bate-papo, e preciso que muitos desses bate-papos sejam executados simultaneamente, recebendo e enviando dados por meio de sockets da Web.

Foi-me dito que, em vez de gerar um processo por jogo, eu deveria ter um processo com um thread por jogo (talvez usando o Event Machine).

Estou usando o Juggernaut para a parte de sockets, ele me permite enviar dados para todos os jogadores em um jogo usando um sistema de publicação / assinatura: cada jogador se inscreve em um jogo. Mas como eu envio dados de cada jogador para esse jogo em particular?

Eu estava pensando em enviar o ID do jogo ou o ID do canal do cliente para o servidor e enviá-lo para o segmento correspondente.

Mas como faço para enviar alguma coisa para um tópico?

questionAnswers(1)

yourAnswerToTheQuestion