- #!/usr/bin/env ruby
- require 'thread'
- def foo
- Thread.new do
- loop do
- puts "foo"
- foo
- end
- end
- Thread.current.exit
- end
- Thread.list.each{|t| p t}
- Thread.new{foo}
- loop do
- Thread.list.each{|t| t.join unless Thread.current.__id__ == t.__id__}
- break if Thread.list.select{|t| t.alive?}.size == 1
- end
- #runs forever