On Thursday, 22 July 2021 at 05:46:25 UTC, seany wrote:
But what about this :

    int [ string ] ii;
    ii.length = somearray.length;
    foreach(i,dummy; parallel(somearray)) {
      string j = generateUniqueString(i);
      ii[j] ~= somefunc(dummy);
    }


Is this also guaranteed thread safe?

No. Consider https://programming.guide/hash-tables-open-vs-closed-addressing.html

In the open-addressing case, one thread may be searching the backing array while another thread is modifying it. In the closed-addressing case, one thread may be modifying a linked list while another thread is searching it.

Reply via email to