On 10/10/13 5:36 PM, Jonathan M Davis wrote:
On Thursday, October 10, 2013 10:55:49 Andrei Alexandrescu wrote:
On 10/10/13 12:33 AM, Jonathan M Davis wrote:
I honestly don't think we can solve it a different way without completely
redesigning shared. shared is specifically designed such that you have to
either cast it way to do anything with it

no

or write all of your code to
explicitly work with shared, which is not something that generally makes
sense to do unless you're creating a type whose only value is in being
shared across threads.

yes

Really? Do you honestly expect the average use of shared to involve creating
structs or classes which are designed specifically to be used as shared?

Yes. Data structures that can be shared are ALWAYS designed specifically for sharing, unless of course it's a trivial type like int. Sharing means careful interlocking and atomic operations and barriers and stuff. You can't EVER expect to obtain all of that magic by plastering "shared" on top of your type.


Andrei

Reply via email to