What exactly shared means?
Moritz Maxeiner via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jan 2 04:09:06 PST 2015
On Friday, 2 January 2015 at 11:47:47 UTC, Daniel Kozak wrote:
> I always think that shared should be use to make variable
> global across threads (similar to __gshared) with some
> synchronize protection. But this code doesn't work (app is
> stuck on _aaGetX or _aaRehash ):
>
>
> But when I add synchronized block it is OK:
>
I am not aware of any changes since the following thread (see the
second post):
http://forum.dlang.org/thread/brpbjefcgauuzguyiiwr@forum.dlang.org#post-mailman.679.1336909909.24740.digitalmars-d-learn:40puremagic.com
So AFAIK "shared" is currently nothing more than a compiler hint
(despite the documentation suggesting otherwise (Second to last
paragraph of "__gshared" doc compares it to "shared", see
http://dlang.org/attribute.html).
My current understanding is that you either use "__gshared" and
do your own synchronisation, or you use thread local storage,
i.e. do not use "shared", but I would be happy to be proven wrong
on that point.
BTW, you can use the following search to find more information
(It is was I used to find the above linked thread):
https://www.google.com/?#q=site:forum.dlang.org+shared
More information about the Digitalmars-d-learn
mailing list