--000feaeb3f38db27c00471ac0e81
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

2009/8/22 Im still <quietstill / gmail.com>

> 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  ets
> >>                   #do something
> >>              end
> >>      }
> >>      thread_a.join
> >>      thread_b  hread.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...
>



Still a question.
How can I implement a function that command line will keep on outputting
messages while it will still receive user's keyboard inputtings just like
Linux shell always does?

thanks.

--000feaeb3f38db27c00471ac0e81--