Why don’t two locked objects make a safe transaction?
Compare what each lock protects with what the combined operation requires. This is a cost of coordinating shared mutable state, not a claim that every lock is wrong.
Read on through a shared source
Can today’s record explain yesterday’s decision? →Keep the value a decision actually used so that later changes do not erase its explanation.What did the record say at the time? →Access patterns determine how to organize a store. Retaining historical facts determines which past questions it will ever be able to answer.What does a snapshot promise its reader? →Stable snapshots let observers read a particular version. Treating information as values explains why that version can be passed on without changing its meaning.
Compare the passages
values aggregate to values all the benefits apply to Aggregatesand unfortunately locks don't compose either, right. That's the problem with locks.as soon as you have objects being shared encapsulation just flies out the window