[#6363] Re: rescue clause affecting IO loop behavior — ts <decoux@...>

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

17 messages 2000/11/14
[#6367] Re: rescue clause affecting IO loop behavior — David Alan Black <dblack@...> 2000/11/14

Hello again --

[#6582] best way to interleaf arrays? — David Alan Black <dblack@...>

Hello --

15 messages 2000/11/26

[#6646] RE: Array Intersect (&) question — Aleksi Niemel<aleksi.niemela@...>

Ross asked something about widely known and largely ignored language (on

23 messages 2000/11/29
[#6652] RE: Array Intersect (&) question — rpmohn@... (Ross Mohn) 2000/11/29

aleksi.niemela@cinnober.com (Aleksi Niemel) wrote in

[#6723] Re: Array Intersect (&) question — Mathieu Bouchard <matju@...> 2000/12/01

> >Use a hash. Here's code to do both and more. It assumes that

[#6656] printing/accessing arrays and hashes — raja@... (Raja S.)

I'm coming to Ruby with a Python & Common Lisp background.

24 messages 2000/11/30

[ruby-talk:6393] Re: lots of Threads

From: Hugh Sasse Staff Elec Eng <hgs@...>
Date: 2000-11-16 11:53:20 UTC
List: ruby-talk #6393
On Thu, 16 Nov 2000, hipster wrote:

> On Thu, 16 Nov 2000  19:59:07 +0900, Hugh Sasse Staff Elec Eng wrote:
> > On Thu, 16 Nov 2000, Dave Thomas wrote:
> > > Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
> > > 
> > > > If I have an array to be filled with computationally heavy stuff, 
> > > > I could use a load of Threads to populate it in parallel.  If I often
> > > > have to re-populate it, I don't want to kill them all off and start
> > > > them again.
> > > 
> > > But why would that be faster? Ruby threads can't take advantage of
> > 
> > I'm not sure that it would.  Certainly if I have to create and destroy
> > lots of threads it will be lots slower...

I meant to say "repeatedly" here, hence my loop {...;Thread.stop} thing.

> > 
> > > multiple processors, so unless filling the array also involves waiting 
> > 
> > OK, I had a vague feeling that it could not...
> 
> Unless you spread the work over multiple processes using fork instead
> of threads, so the OS can distribute the Ruby instances over the
> cpu's.
> 
> (META: would a pthread impl. of Ruby be a Good Thing[tm]?)

So pthreads are processes to implement threads?  I think that could be
useful.  With Ruby's ability to re-define things the interface could be
kept the same as the built-in threads, just have a require...
> 
> > > for I/O, I'd guess it would go slower with threads (as the old Coke ad 
> > 
> > The actual filling won't be using I/O but I will be shoving the contents
> > of the array out to tape, after I have filled it, and I'm now wondering
> > about the best way to tackle that producer-consumer problem.  Do I need
> > a Mutex.synchronize to access the buffer, or will Thread.stop, athread.run
> > give sufficient control?
> 
> Maybe the async producer/consumer example in
> http:/www.xs4all.nl/~hipster/lib/ruby/semaphore is of any use? If you

I will have a look at this, thank you.

> elect to fork the processes the Semaphore class would have to use IPC
> primitives, of course.
> 
> 	Michel
> 
> 
	Hugh



In This Thread