Sync.rb difference between Sync::UN, Sync::EX and Sync::SH

In sync.rb what are Sync::UN, Sync::EX and Sync::SH all about?

Thanks,
T.

Oh, one other thing. SyncEnumerator has nothing to do with Sync right?
Maybe it would be better if were named something else (TandemEnumerator
come to mind).

Thanks,
T.

Trans wrote:

In sync.rb what are Sync::UN, Sync::EX and Sync::SH all about?

EX is exclusive: if a thread requests an EX lock, no other threads may
may hold the lock at the same time.

SH is shared: many threads may hold the lock as long as they all
requested a shared lock.

The intent is to allow either multiple readers or a single writer (but
not both) inside the critical section(s) of code.

No one know? I assume Sync::EX when underlying data is gogin to change
and Sync::SH when it’s not? Can EX just be used alwasy instead?

T.