Hello all,

My knowledge of threading in general is weak
(though most of Ruby's threads seem straightforward
so far).

Critical sections are easy to understand.

A mutex is slightly harder to grasp.

Condition variables are a little harder.

As for monitor.rb and sync.rb, I haven't even looked 
at them yet.

Can anyone shed a paragraph or two of light on this
topic? I'm just looking for an overview, i.e., when/why
to use, pros/cons.

Thanks,
Hal