function is `@nogc` yet allocates closures with the GC work around!
workman
workman at gmail.com
Thu Jan 13 07:28:52 UTC 2022
On Wednesday, 12 January 2022 at 14:06:53 UTC, bauss wrote:
> Let me change your analogy and perhaps it will answer your own
> question.
>
> step 1) Person A shares a piece of paper with Person B
> step 2) Person B writes something on the piece of paper
> step 3) Person B gives the piece of paper back to Person A
> step 4) Person A reads the piece of paper
Thanks for the example.
I am ask here because I think this cloud be the case:
0) thread A set fiber stack var X = 0;
1) thread A send pointer X to thread B
2) thread B read pointer X, modify the X = 1
3) thread B send finish message to thread A
4) thread A read pointer X, but load X from CPU cache L1, so the
value still be 0
Thread A & B will never try modify X same time, but cloud
read/write value from/to CPU cache.
I am not sure if this cloud be the case here.
More information about the Digitalmars-d
mailing list