SynchronizedRef[A]: a Ref whose updates can run effects.
Updates take turns: each holds the ref's one-permit lock from reading the
value to storing the new one, so update_effect(f) never loses a
concurrent update while f's effect runs. If the effect fails or is
interrupted, the value is unchanged. get never waits. An update
started from inside another update's effect waits forever, as in Effect.
Classes#
On This Page
Classes