[video] Sabadão On Rails - Concurrency

No último meetup: Sabadão on Rails tivemos uma série de talks avançadas sobre Ruby.

Um dos temas foi Concurrency em processos apresentado por Jônatas Paganini (@jonatasdp) e @jaisonerick.

No episódio mostramos como criar uma queue e consumir ela em outra thread. Usamos o famoso termo Xunda para não entrar em conflito com nomes.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require 'thread'
require 'zip'
require 'tempfile'

class Xunda < Queue
  def initialize
    super
    @thread = Thread.new do
      while true
        if line = pop
          puts "recebeu: #{line}"
        end
      end
    end
  end
end
q = Xunda.new
q << "a"
sleep 1
q << "b"
sleep 2
q << "c"
sleep 4
q << "bye"

Não deixe de se inscrever no canal RubyFloripa no Youtube e confira as outras talks que gravamos.

Um super obrigado ao @derekstavis que generosamente gravou, editou e publicou todo o vídeo.

comments powered by Disqus