On Friday, 11 October 2013 at 17:49:11 UTC, Sean Kelly wrote:
On Friday, 11 October 2013 at 02:07:57 UTC, Andrei Alexandrescu
wrote:
TDPL describes how synchronized automatically peels off the
"shared" off of direct members of the object. Unfortunately
that feature is not yet implemented.
This would help a ton. I'm still not super happy about having
to label an entire method as synchronized for this to work
though. I'd prefer to label it shared and synchronize only the
part(s) inside that need to hold the lock.
It should work as well with
synchronized(stuff) {
// Stuff get its first level sharing removed.
}