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


#1

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

Thanks,
T.


#2

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.


#3

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.


#4

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.