2009/8/22 Robert Klemme <shortcutter / googlemail.com>

> On 21.08.2009 19:10, Im still wrote:
>
>> [Note:  parts of this message were removed to make it a legal post.]
>>
>>
>> Hi all
>> I'm trying to run two thread at one time in a program.
>> And one of them will receive user inputting msgs by gets().
>> another one will do something else at the same time.
>> they don't communicate each other.
>>
>> like this :
>>
>>       thread_a =  Thread.new{
>>              loop do
>>                   puts "please enter blah blah"
>>                   msg = gets
>>                   #do something
>>              end
>>      }
>>      thread_a.join
>>      thread_b = Thread.new{
>>               loop do
>>                     #do other things maybe  puts "im running im running
>> ....."
>>               end
>>
>>     }
>>     thread_b.join
>>
>> but when thread_a runs gets waiting for user input, whole program will be
>> paused waiting for this, I mean thread_b will not working.
>> How can I handle this ?
>>
>
> You are using threads like ordinary functions: you start a thread and wait
> for it to finish before you start the next one.  You should move
> thread_a.join after the start of thread_b.
>
>  Do I have to do this by running multi process?
>>
>
> No.
>
> Kind regards
>
>        robert
>
> --
> remember.guy do |as, often| as.you_can - without end
> http://blog.rubybestpractices.com/
>




Thanks Robert. Seems I didn't uderstand well with thr.join method...