Forum: Ruby how to trigger a thread by event

Posted by XueBrian (Guest)
on 2012-12-07 10:06
(Received via mailing list)
Hi,
As you know, ruby thread start to execute when created, like
Thread.new do      ......end
Here my question is how can I defer the thread execution until something 
happened, like an event?
Thanks,Brian
Posted by Robert Klemme (robert_k78)
on 2012-12-07 10:09
(Received via mailing list)
On Fri, Dec 7, 2012 at 10:05 AM, XueBrian <brian.xue@hotmail.com> wrote:

> As you know, ruby thread start to execute when created, like
>
> Thread.new do
>       ......
> end
>
> Here my question is how can I defer the thread execution until something
> happened, like an event?

Huh?  Is this a serious question?  The solution seems pretty obvious.

Cheers

robert
Posted by Carlo E. Prelz (Guest)
on 2012-12-07 10:19
(Received via mailing list)
Subject: how to trigger a thread by event
  Date: Fri 07 Dec 12 06:05:43PM +0900

Quoting XueBrian (brian.xue@hotmail.com):

> Here my question is how can I defer the thread execution until
> something happened, like an event?

I am not sure I understand what you want to do. Threads can be stopped
and restarted. If, from within the code of your thread, you call first
thing

Thread::stop

then, whenever you need the execution to restart, you can call t.run
from your main process. Look at the example that is returned to you by
running.

ri Thread::stop

HTH

Carlo
Posted by Robert Klemme (robert_k78)
on 2012-12-07 10:53
(Received via mailing list)
On Fri, Dec 7, 2012 at 10:18 AM, Carlo E. Prelz <fluido@fluido.as> 
wrote:
> thing
>
> Thread::stop
>
> then, whenever you need the execution to restart, you can call t.run
> from your main process. Look at the example that is returned to you by
> running.

I do not recommend doing that.  Generally one should rather use thread
synchronization primitives to control execution of threads.

Cheers

robert
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.