Comparision of transactional map wrappers

TransactionalMapWrapper OptimisticMapWrapper PessimisticMapWrapper

Lost update

Possible

Not possible

Not possible

Dirty write

Not possible

Not possible

Not possible

Dirty read

Not possible

Not possible

Not possible

Lost update

Possible

Not possible

Not possible

Nonrepeatable read

Possible

Not possible

Not possible

Phantoms

Possible

Not possible

Not possible

Read Skew

Possible

Not possible

Not possible

Write Skew

Possible

Possible

Not possible

Readers block writers

No

No

Yes

Writers block readers

No

No

Yes

Writers block writers

No

No

Yes

Might deadlock

No

No

Yes

Commit might fail

No

Yes

No

Isolation Level

Read Committed (with lost updates possible)

Snapshot (Oracle would call it Serializable)

Serializable