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