Shared an non-shared
Begah via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Oct 5 04:25:57 PDT 2016
On Wednesday, 5 October 2016 at 07:36:58 UTC, Jonathan M Davis
wrote:
> On Tuesday, October 04, 2016 19:22:10 Begah via
> Digitalmars-d-learn wrote:
>> How can I make a method that accepts being called by both a
>> shared and non-shared object, to prevent having to copy
>> methods and adding a "shared"?
>
> You could templatize them, but really, the idea is that you
> _don't_ call much of anything on a shared object. It's not
> thread-safe to do so unless it's protected by a mutex or
> sychronized block. shared is as unwieldy as it is in part
> because it's easy to use incorrectly, and most code should not
> be using shared at all, because the stuff that actually needs
> to be shared across threads is normally pretty minimal.
Thanks for the reply,
One of my problem is that, i need all of my data to be accessible
by both threads ( I have two ). I am making a 3d application and
decided to separate the update loop and the render loop ( I just
created another thread for the update loop meanwhile the render
loop has to remain on the main thread ).
I just want to ensure that when my render loop ( or update loop )
updates/render an object, the other loop cannot ( To avoid
potential bugs whereas one loop changes the position component
and the render loop renders the object with only the new x
position because the y and z variable haven't been changed yet ).
As i will have many of those objects, do i need to create a mutex
for everyone of them?
More information about the Digitalmars-d-learn
mailing list