2012-01-10 3 views

답변

1

내가 생각하는 스레드를 수동으로 처리 할 필요가 없으며, 루비 스레드를 사용해야한다. jruby가 자바 성능을 향상시키는 자바 스레드이기 때문이다.

공통적 인 일은 몇 가지 스레드를 스핀 업하고 다음 단계 전에 모든 것이 완료되었는지 확인하려면 계속하기 전에 모두 참여하는 것입니다. 그러나 여기서는 필요하지 않은 것 같습니다. .

# foo.rb 
a = Thread.new { print "a"; sleep(1); print "b"; print "c" } 
require 'pp' 
pp Thread.list 
puts "foo" 
sleep(2); 
pp Thread.list 
puts "bar" 

당신이 양산 배경 스레드가 자동으로 제거됩니다 볼 수 있듯이 :

여기에 약간의 테스트 프로그램입니다. (jruby뿐만 아니라 1.9.2에서 테스트 됨

$ ruby foo.rb 
a[#<Thread:0x00000100887678 run>, #<Thread:0x0000010086c7d8 sleep>] 
foo 
bc[#<Thread:0x00000100887678 run>] 
bar 
관련 문제