Olá pessoal... tentem assim

threads = Array.new
threads <<
Thread.new do
 puts "inicio"
 Kernel.sleep(5)
 puts "fim"
end

puts "fim do script aguardando a thread terminar"
threads.each{|t| t.join}


Rafael Souza escreveu:
aqui rodou assim: http://gist.github.com/396405

dá uma olhada no código e nas últimas linhas, o último Time.now está lá

não sei se tem alguma diferença nisso em relação a versão, a que eu
estou usando aqui é a 1.8.7

$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.8.0]


2010/5/10 Wesley Oliveira <[email protected]>:
Não Rafael pior que não estou.

Ficou assim:

Thread.new do
   while(true)
      puts Time.now
    end
 end
puts Time.now


O que ocorre e que Ele não executa o último Time.now fora do bloco do Thread

Em 10 de maio de 2010 12:17, Paulo Geyer <[email protected]> escreveu:
Aí é um fork.

puts "Início do programa!"
fork {
 puts "Início do fork"
 sleep 5
 puts "Fim do fork"
}
puts "Fim do programa"

On May 10, 2010, at 11:38 AM, Wesley Oliveira wrote:

Ola Pessoa,

Estou com uma duvida, nao consigo criar um thread e a mesma liberar a
linha de execuçao principal, o programa fica esperando ela acabar para
continuar a execuçao.

Alguem tem uma ideia do problema e uma possivel soluçao?

Obrigado.

--
Nenhum de nós é tão bom quanto TODOS NÓS JUNTOS!
_______________________________________________
Ruby-l mailing list
[email protected]
https://www.listas.unicamp.br/mailman/listinfo/ruby-l
_______________________________________________
Ruby-l mailing list
[email protected]
https://www.listas.unicamp.br/mailman/listinfo/ruby-l

--
Nenhum de nós é tão bom quanto TODOS NÓS JUNTOS!

_______________________________________________
Ruby-l mailing list
[email protected]
https://www.listas.unicamp.br/mailman/listinfo/ruby-l






_______________________________________________
Ruby-l mailing list
[email protected]
https://www.listas.unicamp.br/mailman/listinfo/ruby-l

Responder a