Concurrency message passing
Steven Schveighoffer
schveiguy at gmail.com
Tue Aug 17 22:02:27 UTC 2021
On 8/17/21 2:36 PM, JG wrote:
> Thanks for the suggestions and explanations. I am not sure what to do in
> my case though. The situation is as follows. I have a struct that is
> populated via user input not necessarily at single instance (so that
> seems to rule out immutable). On the other
> hand while it is being populate it is only accessible from one thread so
> that
> makes using shared messy. After being populated it should be passed to
> the other thread and no references are kept.
You are allowed to cast to immutable if no other mutable references are
used. I recommend using `assumeUnique`.
> What I am doing currently is populating the struct and casting to shared
> when I push into a synchronized queue (no references to its data are
> kept in the first thread). Is what I am doing wrong and can it be
> achieved using message passing?
Yeah, build it like Ali says, and then cast in order to pass it.
-Steve
More information about the Digitalmars-d-learn
mailing list