small typo there, this is better...

 require 'thread'

 input = nil
 t = Thread.new() do
   input = STDIN.readlines
 end

 # do some stuff
 # parse some options

 while t.alive?
   old = input
   puts "collecting input..." if old

   puts "thread running for 1 second"
   Kernel.sleep(1)

   if old == input
     if input
       puts "done collecting input"
     else
       puts "no input found on STDIN"
     end
     Kernel.sleep(1)
     t.kill
     break
   end
 end

 puts input