Friday's meeting
Cantor, Scott
cantor.2 at osu.edu
Thu May 23 10:20:02 EDT 2013
> What I think I would like to understand is what the threading access rules
> are for various structure types. For instance, the following would be nice,
> but is it accurate?
>
> Attribute Filter, AttributeConnector & DataConnection definition:
> - Single threaded access until #doInitialize() called
> - Multiple threaded access from then on (but this is expected to be read
> only).
I actually think we should add an annotation for that case, @ThreadSafeAfterInit, along the lines of the @NonnullAfterInit I added. The storage API is like that, but it's marked @ThreadSafe right now.
> Attribute & Attribute Filter context:
> - Single threaded access guaranteed by the environment.
Yes, maybe another annotation we should create.
> Logging:
> - "Thread safe" meaning that same can Object be called by multiple threads
> and "the right thing will happen" - each method is Atomic, Consistent and
> mostly Isolated.
That's what @ThreadSafe should mean, yes.
> But what about web flows?
With some exceptions, we won't have much code that actually interacts with a flow itself. But they're threadsafe because the flow context is what tracks the state, I believe.
> How are they serialized?
I don't think flows themselves are serialized, only the conversation state.
> What about other structures? What do Services & reload do for us ?
That's a very open question. The goal was to address reloadability of systems using some kind of abstraction, but it isn't complete.
-- Scott
More information about the dev
mailing list